单例模式的作用:
保证一个类只有一个实例,并提供一个访问它的全局访问点常用于重量级对象,这个类创建对象是耗时,耗内存和复杂的单例模式的好处 保证对象在内存中仅有一个,减少内存开销
单例模式枚举方式:
立即加载、线程安全、实现简单、序列化
例子
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 {
}
}
}