JAVA单例模式详解
第一种:很好用的一种:采用静态内部类来实现
/** * 单例模式--One*/ public class Singleton_One { /** * 私有化构造方法 */ private Singleton_One(){ } public static final Singleton_One getInstance(){ return SingletonHandler.singleton; } /** * 类级的内部类,也就是静态的成员式内部类,该内部类的实例与外部类的实例 * 没有绑定关系,而且只有被调用到才会装载,从而实现了延迟加载 */ private static class SingletonHandler { /** * 静态初始化器,由JVM来保证线程安全 */ private static final Singleton_One singleton = new Singleton_One(); } }
第二种:采用枚举来实现,JDK1.5以后才支持的
/** * 枚举单例*/ public enum Singleton_Two { instance; private Singleton_Two(){ } public SingletoObject SingletonHandler(){ return new SingletoObject(); } } /** * 被单例控制对象*/ class SingletoObject{ } /** * 获取单例的方法*/ class SingletonTest{ private SingletoObject st = Singleton_Two.instance.SingletonHandler(); }
这两种比较好,其他的都会有各种问题;就不记录了。
这种方便自己看的,应该写在随笔记里面吗?

浙公网安备 33010602011771号