-
享元模式 Flayweight
模式定义:运用共享技术有效地支持大量细粒度的对象,所有不同的类对象只创建一次
典型应用:游戏中的树,使用***CocurrentHashMap***来保存树的元数据,如果已经存在直接从工厂类中返回已有树,如果没有再在map中增加元数据并返回
java.lang.String java.lang.Integer com.sun.org.apache.bcel.internal.generic.InstructionConstants
优点:如果系统有大量类似的对象,可以节省大量的内存和CPU资源
为什么要共享?什么对象才共享?
共享可以节省cpu,内存资源;共享了需要保证线程安全,数据一致性,不可变对象,例如string这种不可变对象,直接放到全局变量区