设计模式(多例)
来源:互联网 发布:目标软件游戏 编辑:程序博客网 时间:2024/06/08 22:57
多例:单例设计模式的变形,可以看成是一个缓存池的单例,而缓存池里面可以存多个数据
//单例+缓存---没有控制池大小public class A { //1创建一个单例的池(private即把池封装成单例了) private static Map<String, A> pool = new HashMap<String, A>(); //池--集合: Map:key-value public synchronized static A getInstance(String key){ //2根据key到池中去获取obj A obj = pool.get(key); if(obj==null){ obj = new A(); pool.put(key, obj); } //3如果该obj存在则返回,否则创建一个新的放入池中并返回 return obj}}
import java.util.HashMap;import java.util.Map;//单例+缓存---控制池大小,每个对象的key值由该类内部指定public class A { //1创建一个单例的池 private static Map<Integer, A> pool = new HashMap<Integer, A>(); //池--集合: Map:key-value //当前对象的序号 private static int num=0; //总数量 private static int MAX_SIZE=3; public synchronized static A getInstance(){ //2根据num到池中去获取obj A obj = pool.get(num); if(obj==null){ obj = new A(); pool.put(num, obj); } num = (num+1)%MAX_SIZE; //范围: 0 ~ MAX_SIZE-1 //3如果该obj存在则返回,否则创建一个新的放入池中并返回 return obj; }}
0 0
- 设计模式(多例)
- 设计模式(二)---多例
- 设计模式----设计模式总结(完)
- 设计模式(2): 什么是设计模式
- 设计模式-原型设计模式(Prototype)
- 设计模式-原型设计模式(Prototype)
- 设计模式--观察者(监听)设计模式
- 设计模式(一)观察者设计模式
- 设计模式(一)模版设计模式
- 设计模式--观察者(监听)设计模式
- 设计模式(装饰设计模式)
- 设计模式(单例设计模式)
- 设计模式:2)策略设计模式
- 设计模式:6)原型设计模式
- 设计模式:7)代理设计模式
- 设计模式(四)适配器设计模式
- Builder设计模式(生成器设计模式)
- 设计模式(装饰设计模式)
- https建立连接
- 从网页缓存中获取图片,将图片存放当本地文件夹中
- PHP面向对象编程设计模式(四)观察者模式
- Quartz学习笔记(四)—— SchedulerListeners
- 进制转换的两种特殊方法
- 设计模式(多例)
- 括号匹配
- 文章标题
- 以前整理的网络上免费API接口
- 169. Majority Element
- GPL协议
- Python深度学习路线
- Error:CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temp
- Hibernate (九)类的继承映射