- 博客(3)
- 收藏
- 关注
原创 设计模式之命令模式
模式定义 命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 类图 Command:用来声明执行操作的接口。 abstract class Command { Receiver receiver; public Command(Receiver receiver){ this.receiver = receiver; } abstract void execute(); } ConcreteCo
2020-06-07 18:51:00
136
原创 通过《植物大战僵尸》学策略模式
案例 《植物大战僵尸》这个游戏很多人都玩过,里面有各种不同的植物和僵尸。不同的植物、僵尸各自有不同的特点。假如你要开发这样一款游戏,游戏最开始的版本比较简单,只有两种僵尸:普通僵尸、旗手僵尸。 第一版 类型 外观 移动 攻击 普通僵尸 普通 朝着一个方向 咬 旗手僵尸 普通+手持旗子 朝着一个方向 咬 抽象类: abstract class AbstractZombie{ public abstract void display(); public void attack(
2020-06-06 23:36:06
905
原创 记一次ArrayList线程安全问题
现象 代码中有一段逻辑有时会没有执行完成就突然停止。 定位 查看报出的异常。查看异常信息发现有空指针。而往上追代码发现是因为业务逻辑中遍历某list时有元素为null。但是此业务逻辑中这个list的元素是不可能为null的。开始继续往里追找到构造此list相关的代码,发现以下代码: List<String> list = Lists.newArrayList(); Lists.partition(codeList, PAGE_SIZE_1000).parallelStream().forEach
2020-06-04 17:59:18
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人