定义:又称为轻量级模式,是对象池的一种实现。类似于线程池,线程池可以避免不停的创建和销毁多个对象,消耗性能。提供了减少对象数量从而改善应用所需的对象结构方式。
宗旨:共享细粒度对象,将多个对同一对象的访问集中起来
适用场景:
常常应用于系统底层的开发,系统有大量相似对象、需要缓冲池,以便解决系统的性能问题。
优点:
1、减少对象的创建,降低内存中对象的数量,降低系统的内存,提高效率。
2、减少内存之外的其他资源占用。
缺点:
1、关注内、外部状态、关注线程安全问题。
2、使系统、程序的逻辑复杂化。
生活场景中的应用:
1、各类房源共享
2、全国社保联网
源码应用:
1)jdk中的IntegerCache、LongCache等
2)池技术:String常量池、数据库连接池、缓冲池、spring中的beanFactory管理bean的创建与销毁、spring的事件监听管理事件监听器对象的创建与销毁等