枚举实现单例

单例模式的作用:

保证一个类只有一个实例,并提供一个访问它的全局访问点常用于重量级对象,这个类创建对象是耗时,耗内存和复杂的单例模式的好处 保证对象在内存中仅有一个,减少内存开销

单例模式枚举方式:

立即加载、线程安全、实现简单、序列化

例子

public class DBConnection {
    public static void main(String[] args) throws Exception {
        EnumSingleton.SingletonClass con1 = EnumSingleton.INSTANCE.getInstance();
        EnumSingleton.SingletonClass con2 = EnumSingleton.INSTANCE.getInstance();
        System.out.println(con1 == con2);
    }   

    public enum EnumSingleton {
        INSTANCE;// 枚举里的属性相当于Singleton的实例

        private SingletonClass instance;

        private EnumSingleton() {
            instance = new SingletonClass();
            System.out.println("call EnumSingleton()");
        }   

        public SingletonClass getInstance() {
            return instance;
        }   

        class SingletonClass {
        }   
    }   
}

你可能感兴趣的:(枚举实现单例)