Discuss / Java / 静态内部类实现单例模式

静态内部类实现单例模式

Topic source

补充一个静态内部类实现单例模式的方法:

public class Singleton {
 
    private Singleton(){};
 
    /**
     * 静态内部类只有在被使用时才会装载,静态属性只会在第一次装载时初始化
     */
    private static class SingletonInstance{
        private static final Singleton instance = new Singleton();
    }
 
    static Singleton getInstance(){
        return SingletonInstance.instance;
    }
}

这种方式也是线程安全的(不需要手动加锁,由JVM保证线程安全),而且实现了懒加载。


  • 1

Reply