代码:
/**
* @author 士多啤梨西多士
* @date 2020/9/9 23:51
* @description 双重检验锁单例模式
*/
public class Main {
public static void main(String[] args) {
Singleton a = Singleton.getInstance();
Singleton b = Singleton.getInstance();
System.out.println(a);
System.out.println(b);
System.out.println(a == b);
}
}
class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if(instance == null) {
synchronized (Singleton.class) {
if (instance == null){
instance = new Singleton();
}
}
}
return instance;
}
}