//jvm管理 线程安全的 //lazy initialization holder class //内部类给单例作延时加载 public class Singleton { private static final class Holder { private static final Singleton instance = new Singleton(); } private Singleton() { } public Singleton getInstance() { return Holder.instance; } } // 枚举--单例模式 enum EnumSingleton { INSTANCE; // 枚举类型构造函数必须为 private 并且元素是静态的 定义完 枚举就可以使用 private EnumSingleton() {} public Singleton build() { final Singleton instance = new Singleton(); return instance; } } //外部调用 Singleton instance = EnumSingleton.INSTANCE.build(); // 懒汉模式 public class Singleton { // initailzed during class loading private static final Singleton INSTANCE = new Singleton(); // to prevent creating another instance of Singleton private Singleton() { } public static Singleton getSingleton() { return INSTANCE; } } //