/**
* description: 单例 懒汉
*/
public class LazySingleton {
private static LazySingleton lazySingleton;
private LazySingleton(){
}
//方法1和2选哪个都行
//方法一
public static synchronized LazySingleton getInstance(){
if(lazySingleton == null){
lazySingleton = new LazySingleton();
}
return lazySingleton;
}
//方法二
public static LazySingleton getInstance(){
synchronized (LazySingleton.class){
if(lazySingleton == null){
lazySingleton = new LazySingleton();
}
}
return lazySingleton;
}
}
不足之处:性能 在多线程并发下这样的实现是无法保证实例唯一
优化:DCL