列舉實現單例
阿新 • • 發佈:2018-12-14
單例模式的作用:
保證一個類只有一個例項,並提供一個訪問它的全域性訪問點常用於重量級物件,這個類建立物件是耗時,耗記憶體和複雜的單例模式的好處 保證物件在記憶體中僅有一個,減少記憶體開銷
單例模式列舉方式:
立即載入、執行緒安全、實現簡單、序列化
例子
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 {
}
}
}