溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

發(fā)布時間:2020-07-30 17:04:30 來源:網(wǎng)絡(luò) 閱讀:249 作者:凱哥Java 欄目:編程語言

設(shè)計模式之單例模式-單例模式的幾種實現(xiàn)方式及小案例

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

本文來源:凱哥Java(wx:kaigejava)

單例模式有幾種?餓漢式、懶漢式。這兩種是最常見的。還有幾種是對其擴展的。具體如下:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

我們可以從上圖看到,共有六種方式。

其中在懶漢式基礎(chǔ)上擴展的有兩種。即:加鎖的懶漢式及雙重判斷加鎖的懶漢式

還有一種是使用內(nèi)部類實現(xiàn)的。即:內(nèi)部靜態(tài)類的

最后一種是比較少見的。使用枚舉的。

我們來看看每種方式代碼都怎么寫。

聯(lián)系凱哥--》公眾號:凱哥Java(kaigejava)

凱哥個人博客:www.kaigejava.com

懶漢式:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

我們來看看懶漢式優(yōu)缺點:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

餓漢式:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

餓漢式的優(yōu)缺點及適用場景:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

加鎖的懶漢式:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

再來看看加鎖懶漢式的由來:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

雙重判斷加鎖的懶漢式:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

有了加鎖的懶漢為什么還會有加鎖雙重判斷的呢?這種由什么優(yōu)缺點呢?請看下圖:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

內(nèi)部靜態(tài)類是實現(xiàn)的懶漢式:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

這種模式的有缺:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

使用枚舉:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

優(yōu)點缺點:

單例模式只有餓漢式和懶漢式嗎?這幾種單例模式你見過嗎

我們使用單例模式做個小案例。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI