package singleton;
public class SingletonStaticInnerClass {
private SingletonStaticInnerClass() {}
// 利用jvm的静态内部类的特性来完成单例模式
private static class SingletonInstance {
private final static SingletonStaticInnerClass INSTANCE = new SingletonStaticInnerClass();
}
public static SingletonStaticInnerClass getInstance() {
return SingletonInstance.INSTANCE;
}
}
优点
- 线程安全,采用了类装载机制保证初始化时只有一个线程
- 符合懒加载模式,内部静态类在调用getInstance()方法时才会装载