单例设计模式中,软件的运行有且只有一个实例化对象,只会new一次
一般我们使用单例设计模式,来解决new对象太繁杂的问题或new新的对象没有必要的问题
1.饿汉式
public class Single {
//私有构造,调用类的人不能直接使用new创建对象
private Single(){
}
//私有的Single类型的类变量
private static Single single = new Single();
public static Single getInstance(){
return single;
}
}
在饿汉式中,是在类加载之后,未被调用时,就已经new好了一个对象,以后无论谁调用getInstance方法,都返回之前new好的对象(single)
2.懒汉式
public class Single1 {
//私有化构造方法,不能在外界直接new对象
private Single1(){
}
private static Single1 s1 = null;
public static Single1 getInstance(){
if(s1 == null){
s1 = new Single1();
}
return s1;
}
}
在懒汉式中,一开始并不占内存,在第一次调用getInstance方法时new一个对象,以后再调用getInstance方法就直接返回之前第一次new好的对象
饿汉式和懒汉式的区别,在于何时new这个对象
本文详细介绍了单例设计模式的概念及其实现方式,包括饿汉式和懒汉式两种实现形式,并对比了它们之间的主要区别。
1510

被折叠的 条评论
为什么被折叠?



