单例模式之懒汉式
1.思想:为了解恶汉式设计的弊端,我们在创建对象时不会默认实例化。
2.解决方法,利用if语句来解决重复空间的问题;
public class Singleton1 {
//改进版
private Singleton1() {}
private static Singleton1 single = null;
public static Singleton1 getsingleton1() {
if(single == null)
{
single = new Singleton1();
}
return single;
}
}
public class Singleton1Test {
public static void main(String[] args) {
Singleton1 single1 =Singleton1.getsingleton1();
Singleton1 single2 =Singleton1.getsingleton1();
Singleton1 single3 =Singleton1.getsingleton1();
System.out.println(single1);
System.out.println(single2);
System.out.println(single3);
}
}
com.offcn.test05.Singleton1@5b6f7412
com.offcn.test05.Singleton1@5b6f7412
com.offcn.test05.Singleton1@5b6f7412
目的:确保对象的唯一性;
总结:由代码可见,之前恶汉式浪费空间的弊端很好的解决了。但是多线程n不能保证对象的唯一性;