//懒汉式
public class test{
public static void main(String[] args){Singleton.getInstence().desc();
}
}
class Singleton{
private static Singleton singleton=null;
private Singleton(){
}
public static Singleton getInstence(){
if(singleton==null){
singleton=new Singleton();
}
return singleton;
}
public void desc(){
System.out.print("自我介绍!");
}
}
//饥饿式
public class test{
public static void main(String[] args){
Singleton.getInstence().desc();
}
}
class Singleton{
private static Singleton singleton=new Singleton();;
private Singleton(){
}
public static Singleton getInstence(){
return singleton;
}
public void desc(){
System.out.print("自我介绍!");
}
}
懒汉式单例模式和饥饿式单例模式区别在与 懒汉式调用其getInstence()
方法才生成一个对象,而饥饿式在程序加载时就已经产生,从内存角度
来看懒汉式才是我们优先考虑的方法。
单例模式,只产生了一个对象实例。其目的是为了在解决同一个类中创
建多个对象与创建一个对象去调用方法,区别不大这种情况下,我们使
用一个对象可能会节省内存,减少垃圾对象的产生,从而提高效率。