- 饱汉式加载
public class Singleton {
private static Singleton instance = new Singleton();
public static Singleton getInstance(){
return instance;
}
}
- 饿汉式加载
public class LazySingleton{
private static LazySingleton instance = null;
public static LazySingleton getInstance(){
if(instance==null)
instance = new LazySingleton();
return instance;
}
}
- 静态内部类加载(最优)
public class StaticSingleton{
private static class SingletonHolder{
private static StaticSingleton instance = new StaticSingleton();
}
public static StaticSingleton getInstance(){
return SingletonHolder.instance;
}
}