首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

单例模式的两种兑现方式及区别

2012-12-23 
单例模式的两种实现方式及区别?1:类加载时进行对象的实例化:public class SingletonA {??//SingletonA的唯

单例模式的两种实现方式及区别

?1:类加载时进行对象的实例化:

public class SingletonA {
?

?//SingletonA的唯一实例
?private static SingletonA instance = new SingletonA();
?
?//将构造函数私有,防止外界构造SingletonA实例
?private SingletonA() {
?}
?/**
? * 获取SingletonA的实例
? */
?public static SingletonA getInstance() {
? return instance;
?}

}

2:第一次访问时进行对象的实例化

public class SingletonB {
?

?//SingletonB的唯一实例
?private static SingletonB instance = null;
?
?//将构造函数私有,防止外界构造SingletonB实例
?private SingletonB() {
?}
?//获取SingletonB的唯一实例,用synchronized关键字保证某一时刻只有一个线程调用此方法。
?public static synchronized SingletonB getInstance() {
? //如果instance为空,便创建一个新的SingletonB实例,否则,返回已有的实例
? if (instance == null) {
?? instance = new SingletonB();
? }
? return instance;
?}

}

?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jun_yuner/archive/2007/12/10/1927621.aspx
?

热点排行