- 懒汉式
public class Singleton{
private Singleton(){}
private static class LazyHolder{
private static final Singleton INSTANCE = new Singleton();
}
public static final Singleton getInstance(){
return LazyHolder.INSTANCE;
}
}
- 饿汉式
public class Singleton{
private Singleton(){}
private static final Singleton single = new Singleton();
public static Singleton getInstance(){
return single;
}
}
懒汉式和饿汉式的区别:
饿汉式:类一旦加载,就把单例初始化完成
懒汉式:只有调用getInstance的时候才去初始化这个单例