什麼是單例模式?常見的單例模式寫法有哪些?

2021-09-25 04:07:44 字數 1022 閱讀 6296

保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點

單例模式是一種常用的軟體設計模式之一,其目的是保證整個應用中只存在類的唯一乙個例項。

餓漢式

/**

* 單例模式

* 餓漢式

*/public class ******01

//方法沒有同步,呼叫效率高

public static ******01 getinstance()

}

懶漢式

/**

* 單例模式

* 懶漢式

*/public class ******02

//執行緒同步

public static synchronized ******02 getinstance()

return s;

}}

靜態內部類式(執行緒同步,懶漢式載入)

/**

* 單例模式

* 靜態內部類式

*/public class singleton03

private static class singletoninner

public static singleton03 getinstance()

}

列舉式(沒有延時載入,防止反射和反序列化)

/**

* 單例模式

* 列舉式

*/public enum singleton04

}

單例物件 占用資源少 不需要延時載入

列舉式 好於 餓漢式

單例物件 占用資源大 需要延時載入

靜態內部類式 好於 懶漢式

什麼是單例模式

1.單例模式只能有乙個例項。2.單例類必須建立自己的唯一例項。3.單例類必須向其他物件提供這一例項。第一步 將類的建構函式生命為私有的建構函式,這樣我們在外部就無法通過singleton s new singleton 來例項化該,因為private生命的成員只有在該類的內部可以訪問。這樣可以保證類...

什麼是單例模式

1.保證類在記憶體中只能有乙個物件 1.懶漢式 類一載入就建立物件 2.餓漢式 用的時候,才去建立物件 相關經驗 餓漢式 是不會出現問題的單例模式 懶漢式 可能會出現問題的單例模式 1.懶載入 延遲載入 2.執行緒安全問題 1.是否多執行緒環境 是 2.是否有共享資料 是 3.是否有多條語句操作共享...

什麼是單例模式

1.保證類在記憶體中只能建立乙個物件 1.餓漢模式 程式啟動時就建立唯一物件 2.懶漢模式 用的時候才建立物件 餓漢模式 不會出現問題 懶漢模式 可能會出現問題 1 延遲載入 2 執行緒安全問題 3 是多執行緒環境 4 是有共享資料 5 有多條語句操作共享資料 餓漢模式 1.建立唯一物件首先要禁用建...