Java 并发编程设计模式
并发设计模式
不变性模式 immutability
所谓不变性就是对象一旦被创建之后, 状态就不在发生变化
快速实现不变性的类
将一个类所有的属性设置成 final 的, 并且只允许只读方法, 那么这个类基本上就具备不可变性了. 更严格的做法是这个类本身是 final.
不可变性类的修改可以通过创建一个新的不可变对象.问题是会产生过多对象.
利用享元模式避免创建重复对象
享元模式本质是其实就是一个对象池.
不可变模式的注意事项
- 对象的所有属性都是 final 的, 并不能保证不可变性.
- 不可变对象也需要正确的发布.
第一点, 因为 final 属性的类型是普通对象, 那么这个普通对象的属性也是可以修改的.
Copy - on - write 模式 写时复制
如果修改非常少, 数据量也不大, 对性能要求严苛的场景, 这个模式非常符合.