一篇博客一篇博客
嗯
常见问题记录
  • Java语言
  • 设计模式及设计原则
  • Java虚拟机
  • JUC 并发工具包
  • MySQL 数据库
  • Redis
  • 学校
  • 游记
  • 其他
联系方式
Github
嗯
常见问题记录
  • Java语言
  • 设计模式及设计原则
  • Java虚拟机
  • JUC 并发工具包
  • MySQL 数据库
  • Redis
  • 学校
  • 游记
  • 其他
联系方式
Github
  • 设计模式与设计原则
  • 设计原则
  • 模板方法模式
  • 责任链模式
  • 策略模式
  • 享元模式
  • 代理模式

享元模式

1)概述

定义:

运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。

2)优缺点

(1)优点

  • 极大减少内存中相似或相同对象数量,节约系统资源,提供系统性能
  • 享元模式中的外部状态相对独立,且不影响内部状态

(2)缺点

逻辑抽象比较复杂,不一定能想到应用享元模式。

3)使用场景

  • 一个系统有大量相同或者相似的对象,造成内存的大量耗费。

  • 在使用享元模式时需要维护一个存储享元对象的享元池,而这需要耗费一定的系统资源,因此,应当在需要多次重复使用享元对象时才值得使用享元模式。

线程池、数据库连接池、各种池化技术都是享元模式思想

还有,JDK中的Integer等包装类,也都应用了享元模式

Last Updated:
Contributors: Desheng Zhang
Prev
策略模式
Next
代理模式