饿汉式:
可以理解记忆,太饿了,一开始类加载就初始化,准备干活
public class Singleton {
//类加载就开始实例 所以类加载比较慢,但获取对象的速度快,如果后期没用,容易浪费内存
private static Singleton singletonone = new Singleton();
private Singleton(){}
private static Singleton getInstance(){
return singletonone;
}
}
懒汉式:
理解记忆 因为懒,当用到时,因为没有才开始初始化
public class Singleton {
//优点:因为用到时才创建,不易浪费内存
private static Singleton singletontwo=null;
private Singleton(){};
private static Singleton getInstance(){
if(null==singletontwo){
singletontwo=new Singleton();
}
return singletontwo;
}
}
共同特点:构造器都是私有化,避免外部new创建对象