享元模式

我理解的所谓的享元的模式就是 缓存

如果这个对象不在缓存里头就创建。有的话就用缓存的。
享元模式
跟单例模式有点像,但是注意看实现手法,跟类的结构。这个共享对象是通过放到一个map中,如果key不同,或者计算key的方式不同是可以产生多个对象的。单例可是从头到尾只有一个对象产出。

这里插入一点题外话 就是 jdk1.8里头的 ConcurrentHashMap的两个方法computeIfAbsent 跟putIfAbsent 这两个方法。当然参数是不一样的。但是语义都是是 如果map里头没有这个key ,加入新的value。这个新value。前者是通过实现一个函数过程最后返回,后者则是参数传入。还有不同点但是返回值不一样。前者返回最新的value。后者返回null。当然key存在的情况都是返回key对相应的value。