定义:又称为轻量级模式,是对象池的一种实现。类似于线程池,线程池可以避免不停的创建和销毁对象,消耗性能。提供了减少对象数量从而改善应用所需的对象结构的方式。属于结构型模式。
宗旨:共享细粒度对象,将多个对同一对象的访问集中起来。
适用场景:常常应用于系统底层的开发,以便解决系统的性能问题;系统有大量相似对象、需要缓冲池的场景。
优点:减少对象的创建,降低内存中对象的数量,降低系统的内存,提高效率;减少内存之外的其他资源占用。
缺点:关注内、外部状态、关注线程安全问题;使系统、程序的逻辑复杂化。
源码中的应用: