单例设计模式--双重校验锁
/**
* 双重校验锁
* 校验---锁---校验
*/
public class SingleDemo7 {
//使用volatile 修饰成员变量
private static volatile SingleDemo7 singleDemo7;
//构造方法私有
private SingleDemo7() {
}
public static SingleDemo7 getSingleDemo7Instance() {
if (singleDemo7 == null) {
synchronized (SingleDemo7.class) {
if (singleDemo7 == null) {
singleDemo7 = new SingleDemo7();
}
}
}
return singleDemo7;
}
}