package cn.bunny.pattern1;

public class Singleton2 {

    // 私有构造函数，防止外部直接实例化
    private Singleton2() {
    }

    // 公共的获取单例实例的方法
    public static Singleton2 getInstance() {
        return SingletonHolder.INSTANCE;
    }

    // 静态内部类，该类只在第一次调用 getInstance() 时加载
    private static class SingletonHolder {
        // JVM 会确保这行代码只会被执行一次
        private static final Singleton2 INSTANCE = new Singleton2();
    }
}