常見的單例模式有哪幾種?
餓漢式 不支持懶加載 線程安全 加載類時比較慢、運行時獲取對象速度快
懶漢式 支持懶加載 線程不安全 加載類時比較快、運行時獲取對象速度慢
同步懶漢式 Synchronized Lazy 主要解決懶漢式的線程不安全 效率太低
雙重鎖懶漢式 推薦使用 線程安全 支持懶加載 效率高
靜態內部類懶漢式 推薦使用 解決餓漢式不支持懶加載 線程安全 支持懶加載 效率高
枚舉類單例設計模式 enumeration 推薦使用
餓漢式 不支持懶加載 線程安全 加載類時比較慢、運行時獲取對象速度快
懶漢式 支持懶加載 線程不安全 加載類時比較快、運行時獲取對象速度慢
同步懶漢式 Synchronized Lazy 主要解決懶漢式的線程不安全 效率太低
雙重鎖懶漢式 推薦使用 線程安全 支持懶加載 效率高
靜態內部類懶漢式 推薦使用 解決餓漢式不支持懶加載 線程安全 支持懶加載 效率高
枚舉類單例設計模式 enumeration 推薦使用
2019-02-14
還可以用枚舉類實現單例模式:
enum Singleton{
INSTANCE;
public void method(){
System.out.println("something");
}
}
enum Singleton{
INSTANCE;
public void method(){
System.out.println("something");
}
}
2018-09-23
老師講的還可以,設計模式這種思想,不是剛開始學java就能弄的很清楚,必須經過寫代碼的閱讀和實操,結合起來,再回來看老師講的,你就會發現你成長了,也聽懂了
2018-07-07