单例模式懒汉式写法,单例模式的优化有以下四个方面:
代码实现
import java.io.Serializable;
public class Singleton implements Serializable {
//加上volatile关键字保证变量的一致性
private volatile static Singleton singleton = null;
private Singleton() {
if (singleton != null) {
throw new RuntimeException("此类为单例模式,已经被实例化");
}
}
public static Singleton getInstance() {
//外层判断是防止已经new过了
if (singleton == null) {
//加上synchronized关键字,保证线程安全
synchronized (Singleton.class) {
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
}
原文:https://www.cnblogs.com/zxfei/p/10926775.html