「手写设计模式」享元模式

116 阅读1分钟

理解名称

享元模式(Flyweight Design Pattern)是一种结构型模式。所谓“享元”,顾名思义就是被共享的单元。

作用

当一个系统中存在大量重复对象的时候,利用享元模式,将对象设计成享元,在内存中只保留一份实例,供多处代码引用,这样可以减少内存中对象的数量,以起到节省内存的目的。

适用场景

当一个系统中存在大量重复对象的时候。

享元模式VS单例模式VS缓存VS池化技术

  • 应用单例模式是为了保证对象全局唯一
  • 应用享元模式是为了实现对象复用,节省内存。
  • 缓存是为了提高访问效率,而非复用。
  • 池化技术中的“复用”理解为“重复使用”,主要是为了节省时间。

代码示例

详见JDK Integer实现

业界经典实现

  • JDK Integer,String