乙個單一的類負責建立自己的物件,同時確保系統中只有單個物件被建立。
特點:
乙個類只能有乙個例項;(構造器是私有的)
它必須自行建立這個例項;(自己編寫例項化邏輯)
它必須自行向整個系統提供這個例項;(對外提供例項化的方法)
分類:
餓漢式(靜態常量)
餓漢式(靜態**塊)
懶漢式(執行緒不安全)
懶漢式(執行緒安全,同步方法)
懶漢式(執行緒安全,同步**塊)
雙重檢查
靜態內部類
列舉**:
public class person
// 靜態內部類,該類中有乙個靜態屬性singleton
private static class singletoninstance
public static person getinstanceinnerclass()
// 1. 使用同步方法保證獲取例項的唯一
public static synchronized person getinstancesyncmethod()
return instance;
}// 2. 雙重檢查獲取單例物件
public static person getinstance() }}
return instance;
}}
建立型模式 單例模式
餓漢式 package com.hfview.designmode.signle 1.餓漢式 就是在初始化成員變數的時候就獲取例項物件 2.public class signlemode private signlemode 懶漢式 package com.hfview.designmode.sig...
建立型模式 單例模式
概述 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。適用性 當類只能有乙個事例而且客戶可以從乙個眾所周知的訪問點訪問它時。當這個唯一事例應該是通過子類化可擴充套件的,並且客戶應該無需更改 就能使用乙個擴充套件的例項時。參與者 singleton 定義乙個instance操作,允許客戶訪問它...
建立型模式 單例模式
1.乙個類只能建立乙個物件 2.應用 主要應用與資料庫應用,可以避免大量的new操作消耗資源 3.uml類圖 user 何曉巨集 date 2018 9 27 time 15 48 namespace singleton class singleton 判斷 instance是否為空,為空則新建乙個...