码迷,mamicode.com
首页 > 编程语言 > 详细

Java常用的设计模式09:单例模式的强化(控制实例个数n)

时间:2015-10-17 22:05:58      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:

1. 单例模式的本质:

控制实例数目(目的节约资源

 

2. 单例模式体现的一些思想:

(1)延迟装载(Lazy Load):懒汉式

(2)缓存:饿汉式

 

3. 单例模式的变形使用

控制使用实例个数为3个(实例池):

 1 public class Person {
 2     //定义用来缓存数据的容器
 3     private static Map  map = new HashMap();
 4     //用来记录当前正在使用哪一个实例,初始化值为1
 5     private static int  num = 1;
 6     //用来记录需要控制的实例的总数为3个
 7     private static int count = 3;
 8     
 9     //私有化Person构造方法
10     private Person() {}
11     public static Person getInstance() {
12         //1.到缓存里面查找需要使用的数据
13         Person person = (Person)map.get(num);
14         //1.1 如果找不到
15         if(person == null) {
16             //就新建一个数据(或者获取一个数据)
17             person = new Person();
18             //然后把新的数据设置回到缓存中
19             map.put(num,person);
20         }
21         //每一次调用,就设置num加1;
22         num++;
23         //如果num超过需要控制的总数,那么把num设置为1,开始重复循环使用
24         if(num > count) {
25             num = 1;
26         }
27         //1.2 如果找到了就直接使用
28         return person;
29     }
30 }

 

 

Java常用的设计模式09:单例模式的强化(控制实例个数n)

标签:

原文地址:http://www.cnblogs.com/hebao0514/p/4888146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!