1. 程式人生 > >列舉實現單例

列舉實現單例

單例模式的作用:

保證一個類只有一個例項,並提供一個訪問它的全域性訪問點常用於重量級物件,這個類建立物件是耗時,耗記憶體和複雜的單例模式的好處 保證物件在記憶體中僅有一個,減少記憶體開銷

單例模式列舉方式:

立即載入、執行緒安全、實現簡單、序列化

例子

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 { } } }