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