大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

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

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

Java常用設(shè)計模式有幾種?想必java小白對這個問題也感到疑惑。這個問題動力節(jié)點java培訓機構(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)建新的對象,可謂是很堅強的壁壘啊,不過,個人認為由于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è)計模式,大家都記住了嗎?

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久久久影视 | 香蕉国产人午夜视频在线 | 五月激情综合网 | 国产成人综合久久精品亚洲 | 国产美女色视频 | 精品久久洲久久久久护士免费 | 亚洲精品在线播放视频 | 久久99免费视频 | 国产一级毛片在线 | 国产福利在线小视频 | 免费特黄一级欧美大片在线看 | 性欧美高清久久久久久久 | 豆国产93在线 | 亚洲 | 99精品影视 | 久久久久久久久久久福利观看 | 99激情网 | 国产操穴 | 亚洲狠狠97婷婷综合久久久久 | 日韩中文字幕精品视频在线 | 六月成人网 | 精品一区二区三区中文字幕 | 老太做爰xxxx视频 | 91精品专区| 久久这里只有精品首页 | 欧美成人一区二区三区在线视频 | 精品无人区乱码1区2区3区在线 | 在线国产日韩 | 成人看的午夜免费毛片 | 国产网友自拍 | 久久香蕉综合精品国产 | 91久久夜色精品国产网站 | 伊人久久狼人 | 性欧美视频 | 天天夜碰日日摸日日澡 | 欧美三级中文字幕 | 国内精品久久久久久中文字幕 | 操夜夜| 免费爱爱网站 | 高清一级毛片 | 91国内在线国内在线播放 | 久久网免费 |