享元模式
设计原则:无
常用场景:一些状态相同的对象被大量的重复使用
使用概率:90%
复杂度:中
变化点:无
选择关键点:被共享的对象是否可以将外部状态提取出来
逆鳞:没有将外部状态提取完全
主要思想:
其实就是共享模式
开局创建n多同一个类实例,用一定的方法管理这些实例,当我们要用时,通过管理类去获取实例
不用平凡的初始化销毁实例等
场景 数据连接池,线程池等等
public class MyThreadPool { //这一句就是享元 创建了10个线程 //ExecutorService就是管理类 ExecutorService pool = Executors.newFixedThreadPool(10); public void execute(Runnable runnable) { //这里就交给管理类 去使用10个线程中的某个去执行 pool.execute(runnable); } }