享元模式

享元模式常常用于系统底层的开发,以便于解决系统的性能问题

定义:提供了减少对象数量从而改善应用所需的对象结构方式

运用共享技术有效的支持大量细粒度的对象

比如String, 有就返回,没有就创建,然后将对象保存在缓存池里面

系统有大量相识对象,需要缓冲池的场景(线程池,常量池,数据库连接池)

享元模式-优点:

减少对象的创建,降低内存中对象的数量,降低系统内存,提高效率

较少内存之外的其他资源占用

比如系统操作文件的句柄,如果不共享,就很容易资源浪费

缺点:

关注内/外部状态、关注线程安全问题

使得系统、程序的逻辑复杂化

缓存

 

和其相关的设计模式: 代理模式、单例模式

 

例如

public Object get () {

if(map.get(0)==null) {

    map.put(0,new object());

}

return map.get(0);

}

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/lyr-2000/p/12567520.html