享元模式 Flyweight
发布时间 2023-12-21 08:54:44作者: 梅丹隆
一、定义
- 提供了减少对象数量从而改善应用所需对象创建的方式
- 运用共享技术有效地支持大量细粒度的对象
二、使用场景
- 常用于系统底层的开发,以便继绝系统的性能问题
- 系统有大量相似的对象、需要缓冲池的场景
三、优缺点
1、优点
- 减少对象的创建,从而降低内存中对象的数量,降低系统的内存,提高效率
- 减少内存之外的其他资源占用
2、缺点
- 需要关注内/外部状态,需要关注线程安全问题
- 使系统、程序的逻辑复杂化
四、代码实现
https://github.com/Meidanlong/all-in-one/tree/master/design/src/main/java/com/mdl/design/pattern/structural/flyweight