java单例模式

来源:互联网 发布:cmmi软件能力成熟度 编辑:程序博客网 时间:2024/05/16 06:15
public class Singleton {
/**
* 如果一个字段被声明成volatile
* java线程内存模型确保所有线程看到这个变量的值是一致的。
*/
private volatile static Singleton singleton;

/**
* 构造方法私有,外部无法实例化
*/
private Singleton() {
}

/**
* 提供静态方法 供外部调用
* 加入synchronized保证同步
* 双重检查锁定
* @return
*/
public static Singleton getSingleton() {
if (singleton == null) {
synchronized (Singleton.class) {
if (singleton == null) {
singleton = new Singleton();
}
}
}

return singleton;
}

}

作者:itmyhome

0 0
原创粉丝点击