您的位置:首页 > 其它

设计模式5——单件模式

2010-12-22 22:02 176 查看
定义:单件模式确保一个类只有一个实例,并提供一个全局访问点。

类图:





示例源码:

pubic class singleton()

public class Singleton(

[code] private volatile* static Singleton uniqueInstance;

private Singleton(){}

public static Singleton getInstance(){

if(uniqueInstance == null)[

synchronized (Singleton.class){

if(uniqueInstance == null){

uniqueInstance = new Singleton();

}

}

}

}

}

[/code]

要点:

1、单间模式确保程序中一个类最多只有一个实例;

2、单件模式也提供访问这个实力的全局点;

3、在java中实现单件模式需要私有的构造器、一个静态方法和一个静态变量;

4、确定在性能和资源上的限制,然后小心地选择适当的方案来实现单件以解决多线程的问题(我们必须认定所有的程序都是多线程的)。

5、如果不是采用第五版的java2,双重检查加锁实现会失效;

6、小心,你如果使用了多个类加载器,可能导致单件失效而残生多个实例;

7、如果使用jvm1.2或之前的版本,你必须建立单件注册表,以避免垃圾收集器将单件回收。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: