黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java常用設(shè)計模式有幾種

Java常用設(shè)計模式有幾種

更新時間:2020-08-21 11:59:42 來源:動力節(jié)點 瀏覽1514次

Java常用設(shè)計模式有幾種?想必java小白對這個問題也感到疑惑。這個問題動力節(jié)點java培訓(xùn)機構(gòu)的小編就來告訴大家。

1. 單例模式

簡單點說,就是一個應(yīng)用程序中,某個類的實例對象只有一個,你沒有辦法去new,因為構(gòu)造器是被private修飾的,一般通過getInstance()的方法來獲取它們的實例。

getInstance()的返回值是一個對象的引用,并不是一個新的實例,所以不要錯誤的理解成多個對象。單例模式實現(xiàn)起來也很容易,直接看demo吧。

public?class?Singleton?{
private?static?Singleton?singleton;
private?Singleton()?{
}
public?static?Singleton?getInstance()?{?
?if?(singleton?==?null)?{
??singleton?=?new?Singleton();
?}?
?return?singleton;
}
}

2. 懶漢式寫法(線程安全)

public?class?Singleton?{??
???private?static?Singleton?instance;??
???private?Singleton?(){}??
???public?static?synchronized?Singleton?getInstance()?{??
???if?(instance?==?null)?{??
???????instance?=?new?Singleton();??
???}??
???return?instance;??
???}??
}

3. 餓漢式寫法

public?class?Singleton?{??
???private?static?Singleton?instance?=?new?Singleton();??
???private?Singleton?(){}??
???public?static?Singleton?getInstance()?{??
???return?instance;??
???}??
}

4. 靜態(tài)內(nèi)部類

public?class?Singleton?{??
???private?static?class?SingletonHolder?{??
???private?static?final?Singleton?INSTANCE?=?new?Singleton();??
???}??
???private?Singleton?(){}??
???public?static?final?Singleton?getInstance()?{??
???return?SingletonHolder.INSTANCE;??
???}??
}

5. 枚舉

public?enum?Singleton?{??
???INSTANCE;??
???public?void?whateverMethod()?{??
???}??
}

這種方式是Effective Java作者Josh Bloch 提倡的方式,它不僅能避免多線程同步問題,而且還能防止反序列化重新創(chuàng)建新的對象,可謂是很堅強的壁壘啊,不過,個人認(rèn)為由于1.5中才加入enum特性,用這種方式寫不免讓人感覺生疏。

6. 雙重校驗鎖

public?class?Singleton?{??
???private?volatile?static?Singleton?singleton;??
???private?Singleton?(){}??
???public?static?Singleton?getSingleton()?{??
???if?(singleton?==?null)?{??
???????synchronized?(Singleton.class)?{??
???????if?(singleton?==?null)?{??
???????????singleton?=?new?Singleton();??
???????}??
???????}??
???}??
???return?singleton;??
???}??
}

以上就是Java常用設(shè)計模式,大家都記住了嗎?

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲 欧美 日韩 在线 香蕉 | 国产小视频在线高清播放 | 成人免费在线视频网 | www视频网站| 中日韩视频在线看免费观看 | 老色批在线播放视频网站免费 | 亚洲天天做日日做天天看2018 | 色吊丝最新网站 | 欧美黄色三级视频 | 老湿影院在线免费观看 | 91网站国产 | a视频网站 | 欧美大片大片播放网站 | 视频一区日韩 | 黄色小视频在线播放 | 涩涩涩在线视频 | 免费看黄的视频网站 | 欧美一级特黄啪啪片免费看 | 91se在线看片国产免费观看 | 国产成人一区二区三区在线播放 | 成人毛片在线视频 | 不卡中文字幕在线观看 | 午夜私人影院4480yy毛片 | 三级黄色网 | 精品日韩二区三区精品视频 | 人人鲁免费播放视频人人香蕉 | 黄色网在线免费观看 | 9久热这里只有精品免费 | 亚洲精品v欧美精品动漫精品 | 五月天伊人 | 超薄肉色丝袜精品足j福利 超级碰人人 | 毛片链接 | 香蕉大黄香蕉在线观看 | 日日干日日操日日射 | 欧美日韩中文字幕久久伊人 | 亚洲天天综合网 | 国产国产成人精品久久 | 日本漫画工囗全彩内番怀孕 | 欧美成人免费tv在线播放 | 日皮免费 | 永久免费视频网站在线观看 |