餓漢式
特點:在類載入時例項化,執行緒安全,如果沒有使用instance的話比較耗費資源
懶漢式(非執行緒安全)class
singletondemo
public
static singletondemo getinstance()
}
特點: 使用時再例項化
懶漢式(執行緒安全)class
singletondemo
public
static singletondemo getinstance()
return instance;
}}
特點:執行緒安全,使用synchronized關鍵字鎖方法,多執行緒的情況下方法使用次數很多的話會嚴重影響效率
餓漢(變種)class
singletondemo
public
static
synchronized singletondemo getinstance()
return instance;
}}
跟上面的餓漢的區別僅是寫法 初始化**寫在了靜態**塊
懶漢(靜態內部類)class
singletondemo
private
singletondemo()
public
static singletondemo getinstance()
}
特點:執行緒安全, 用時載入,使用靜態內部類
餓漢(列舉)class
singletondemo
private
singletondemo()
public singletondemo getinstance()
}
利用列舉
懶漢(dcl)enum singletondemo
}
public
class
volatiledemo
, string.
valueof
(i))
.start()
;}}}
class
singletondemo
public
static singletondemo getinstance()
}}return instance;
}}
單例模式的七種寫法
第一種 懶漢,執行緒不安全 public class singleton public static singleton getinstance return instance 第二種 懶漢,執行緒安全 public class singleton public static synchronize...
設計模式之單例模式(及七種寫法)
乙個類有且僅有乙個例項,並且自行例項化向整個系統提供 看看下面七種實現方式 public class singleton public static singleton getinstance public class singleton public static singleton getins...
單例模式實現(七種)
單例模式確保乙個類只有乙個例項,並提供乙個全域性訪問點,實現單例模式的方法是私有化建構函式,通過getinstance 方法例項化物件,並返回這個例項 保證在jvm中只有乙個例項 優點 1 單例類只有乙個例項 2 共享資源,全域性使用 3 節省建立時間,提高效能 public class singl...