单例模式 ZHX2020 2020-07-15 (Updated: 2020-09-22) 设计模式 保证一个类仅有一个实例,并提供一个全局访问点。 饿汉式12345678910// 在类初始化时,已经自行实例化 public class Singleton { private Singleton() {}; private static Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; }} 懒汉式1234567891011121314151617// 在第一次调用的时候实例化自己 public class Singleton { private Singleton() {} private static volatile Singleton instance = null; public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return instance; }} 内部类123456789101112// 属于懒汉式public class Singleton { private Singleton() {} private static class Holder { private static Singleton instance = new Singleton(); } public static Singleton getInstance() { return Holder.instance; }} 参考 设计模式也可以这么简单 - 单例模式