Java与设计模式(十)创建型--工厂方法模式

简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码? 一、需求 比如开发一个系统运行日志记录器(Logger),该记录器可以通过多种途径保存系统的运行日志,如通过文件记录或数据库记录,用户可以通过修改配置文件灵活地更换日志记录方式。在设计各类日志记录器时,开发人员发现需要对日志记录器进行一些初始化工作,初始化参数的设置过程较为复杂,而且某
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

我的游戏学习日志56———类型游戏策划(1.3)—动作游戏(3)

我的游戏学习日志56———类型游戏策划(1.3)—动作游戏(3) (上接)1.动作游戏策划-设计元素: 6.道具   在动作游戏的分类:功能性分类、收集性道具   ①功能性道具:一般可以增强角色的攻击能力、奖励能力、提高防御等。   ②收集性道具:一般仅作为玩家增加分数的辅助物存在。 7.时间限制   一般动作游戏的时间通常与真实时间的时间长度相同。   前提:在角色跳跃、行走、奔跑的速度应该与人们日常时间相同。   注意:时间设计事时间限制,一般是倒计时的应用。 8.敌人   动作游戏的敌人
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

声明25个长度的数组,通过键盘录入学生成绩,并把每个元素赋值为学生的分数成绩,输出结束后遍历输出。

package com.Summer_0419.cn; import java.util.Scanner; /** * @author Summer * 声明25个长度的数组,通过键盘录入学生成绩,并把每个元素赋值为学生的分数成绩 */ public class Test_Method11 { public static void main(String[] args) { double [] score = new double[25
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

Collections类

1:一个类对象之间的比较两种方法 1)实现Comparator<String>类并且从写Comparator类中的compare方法, public class A implements Comparator<String>{ @Override public int compare(String o1, String o2) { // 拆散 String[] split = o1.split(""); Strin
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

关于 iOS 性能优化方面的面试题,

这是我前面几天碰到的面试题: 如何对定位和分析项目中影响性能的地方?以及如何进行性能优化? 我的答案: 定位方法: instruments   在iOS上进行性能分析的时候,首先考虑借助instruments这个利器分析出问题出在哪,不要凭空想象,不然你可能把精力花在了1%的问题上,最后发现其实啥都没优化,比如要查看程序哪些部分最耗时,可以使用Time Profiler,要查看内存是否泄漏了,可以使用Leaks等。关于instruments网上有很多资料,作为一个合格iOS开发者,熟悉这个工具
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

Flume-ng高可用集群负载安装与配置

1. 写在前面 flume-ng高可用长在大数据处理环节第一个出现,对于处理日志文件有很好的作用,本篇博客将详细介绍flume-ng的高可用负载均衡搭建 2. flume-ng高可用负载均衡描述 在一般情况下,Flume-ng高可用采用server和client模式,server主要负责数据源source,client主要负责数据流向sink,client需要将server的信息统一管理,server和sink之间数据连接通过channels 3. 配置server,这里配置三个server
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

segmentation fault 原因及解决方法

今天在linux上编译时出现了segmentation fault 的错误,经过定位发现是delete一个指针时没有找到它的析构函数, 把 delete []pSolid1; 换成 delete pSolid1; 就解决了这个问题。(ps我记得很久以前在windows上编译是要加上[]否则会出现这个错误,总之windows和linux上用c++还是有一些不同的) 调用析构函数时要保证include含有析构函数的头文件。
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

Android Studio系列

https://www.cnblogs.com/whycxb/category/1001652.html
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

温酒:《2019 年白领 996 工作制专题调研报告》显示,加班最狠的其实还不是互联网行业,你怎么看?

作者:温酒 需要等一个供给侧改革。 资本家内部不是铁板一块。 屌丝可能压根不懂资本家, 剥削你是资本家的目的么? 不是的,剥削你是他们实现目的的手段。 他们的目的是什么?是越来越有钱。 小目标一个亿。 大目标一百亿。 只是大多数时候,剥削你是实现小目标最简单直接的方法。这给各种无产阶级带来错觉。一定要弄明白这一点,这很重要。因为只有明白了这一点,才能明白有些时候,在剥削你和越来越有钱在长期上看是冲突的时候,一些目光长远的资本家会出来捍卫无产阶级的利益。蓝鹰就是这么来的。 到了那个时候后,失业的
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

服务器是什么?

====
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

java集合中的HashMap源码分析

1.hashMap中的成员分析 transient Node<K,V>[] table; //为hash桶的数量 /** * The number of key-value mappings contained in this map. */ transient int size; //hashMap中键值对的数量 /** * The number of times this HashMap has been
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

epoll好文章

https://www.cnblogs.com/apprentice89/p/3234677.html https://www.jianshu.com/p/aa486512e989 https://cloud.tencent.com/developer/article/1005481
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

记一次网页数据抓取过程

突然要用到地区数据,想到以前用python的Scrapy框架写过一个爬虫,于是打算直接去国家统计局把最新的地区数据抓取回来.本想只需要copy一下以前的代码,就可以得到新鲜出炉的数据,谁知打开以前的项目,脑子一片空白,一点印象都莫得.只恨当时没有做做笔记,写个博客啥的来加深一下影响.点子已经到这里来了,于是在.net core框架下再做了一点简单的爬取工作,并截取前面一部分,整理成文,方便以后回顾 网页分析 网页数据抓取,第一步就是分析网页的结构,包括下面3种基本的信息: 1网页编码格式:得到
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

正则表达式及网络编程

一、缓冲流(都是将数据先换冲到内存缓冲区,然后写入磁盘,或者读取到内存) 1、字节缓冲输入流 构造方法: BufferedInputStream(InputStream in) 通过字节输入流创建 字节输入缓冲流 对象,默认是8KB 2、字节缓冲输出流 ①构造方法: BufferedInputStream(InputStream in) 通过字节输入流创建 字节输入缓冲流对 象 ,默认是8KB ②只有字节缓冲输出流或者字符缓冲输出流才有flush方法,他们都是先将数据输出到缓冲区,然后flus
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

Goland2019.1破解

Goland2019.1破解 Goland2019.1:http://www.jetbrains.com/goland/download/ 破解补丁:https://pan.baidu.com/s/15aCWzZDhZbm9JhMlGq0e_Q 密码:2rbm 原文地址:https://blog.csdn.net/u014044812/article/details/87621168 永久激活教程 注意:在windows系统下进行操作 1.第一步:下载补丁,并将它放置到 goland安装目录的
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

Jmeter元件——JSON Extractor后置处理器

场景使用 json extractor后置处理器用在返回格式为json的HTTP请求中,用来获取返回的json中的某个值。并保存成变量供后面的请求进行调用或断言等。 使用方法 1.常规操作 路径:选择HTTP请求>添加>后置处理器>JSON Extractor,如下图所示: 要获取接口返回的数据,json格式如下: 获取该参数的方式有两种,表达式不同而已 方式一: 通过Debug Sampler在查看结果树中查看是否有获取成功值,如下: 方式二: 通过Debug Sampler在查看结果树中查
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

阶乘位数

9的阶乘等于:362880 它的二进制表示为:1011000100110000000 这个数字共有19位。 请你计算,9999 的阶乘的二进制表示一共有多少位? 注意:需要提交的是一个整数,不要填写任何无关内容(比如说明解释等) 答案: 代码: #include <iostream> #include <cmath> using namespace std; double num; int main() { int n; cin>>n; for(int i
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

mybatis中设置打印sql语句application.yml

在application.yml配置文件中,找到数据源设置,添加: mybatis: configuration: log-impl:org.apache.ibatis.logging.stdout.StdOutImpl 或者在含有logging标签配置文件中添加: logging: config:classpath:log4j2.xml level:com.aa.server.dao.sdf:debug
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

51单片机学习笔记(清翔版)(12)——LED点阵

如图3,点阵屏分单色和彩色,点阵屏是由许多点组成的,在一个点上,只有一颗一种颜色的灯珠,这就是单色点阵屏,彩色的在一个点上有三颗灯珠,分别是RGB三原色。 图4你可能没看出来,那么大块黄色的就是点阵屏,下面那个粉色的长条也是。 大的点阵屏实际上是由许多一小块一小块点阵屏拼接在一块的,最终形成一个大的,在做移动舞台时,它拆装方便,例如演唱会时,液晶的就不方便,运输也不方便,也容易损坏,而点阵屏就一快一块运输就可以,然后拼在一起。 单色点阵屏成本低,就不能像图4一样显示视频了,只能显示文字。 这是
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0

Q678 有效的括号字符串

给定一个只包含三种字符的字符串:(,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。 任何右括号 ) 必须有相应的左括号 ( 。 左括号 ( 必须在对应的右括号之前 )。 * 可以被视为单个右括号 ) ,或单个左括号 ( ,或一个空字符串。 一个空字符串也被视为有效字符串。 示例 1: 输入: "()" 输出: True 示例 2: 输入: "(*)" 输出: True 示例 3: 输入: "(*))" 输出: T
分类: 其他 发布时间: 04-19 23:00 阅读次数: 0