享元模式
-
定义与类型
- 提供了减少对象数量从而改善应用所需的对象结构的方式
- 运用共享技术有效的支持大量细粒度的对象
- 类型:结构型
-
适用场景
- 常常应用于系统底层的开发,一边解决系统的性能问题
- 系统有大量的相似对象,需要缓冲池的场景
-
优点
- 减少对象的创建,降低内存中对象的数量,降低系统的内存,提高效率
- 减少内存之外的其他资源占用
-
缺点
- 关注内/外部状态,关注线程安全问题
- 使系统程序的逻辑复杂化
-
演示地址
- https://github.com/steins4/designpattern/tree/master/src/main/java/com/steins/designpattern/structural/flyweight