畢向東講解(摘) 9 單例設計模式的回顧

2021-08-09 06:34:01 字數 1263 閱讀 1316

懶漢式相比於餓漢式的優點就是延遲載入,但是如果在多執行緒中的話,懶漢式容易出問題,如果要考慮多執行緒的安全性,並且稍微提高一下懶漢式的速率,最好的辦法就是使用雙重判斷的方式,不過即使懶漢式在多執行緒中可以使用雙重判斷來解決,然而也不如餓漢式在多執行緒中的優勢,所以一般在多執行緒中我們選用餓漢式進行單例。

packageday6;

/**

* 單例設計模式 *

*@authormzy*

*/ public

class

test3{}

/** *

餓漢式 *

*/ class

single

public

static

single

getinstance() }

/** *

懶漢式

* 最開始我們學習的懶漢式寫法如下,但是這裡的懶漢式並未考慮多執行緒的問題 */

class

singledemo

public

static

singledemo

getinstance() }

/** *

經過改良的懶漢式 *

加上synchronized修飾

* * 但是同時可以看出,第一次改進的懶漢式效率很低下 *

因為每次進入都要事先進行一次是否為空的判斷 */

class

singledemo1

public

static

synchronized

singledemo1

getinstance() }

/** *

最終改良的懶漢式 *

*@authormzy*

*/ class

singledemolast

public

static

synchronized

singledemolast

getinstance() }

return

s; }

}

單例設計模式逐步講解

單例設計模式 instance例項 singleton patten單例模式 1.類圖分為三部分,依次是類名 屬性 方法 2.以結尾的為注釋資訊 3.修飾符 代表public,代表private,代表protected,什麼都沒有代表包可見。4.帶下劃線的屬性或方法代表是靜態的。5.對類圖中物件的關...

設計模式之單例模式的講解與應用

單例模式指的是在應用整個生命週期內只能存在乙個例項。單例模式是一種被廣泛使用的設計模式。他有很多好處,能夠避免例項物件的重複建立,減少建立例項的系統開銷,節省記憶體。1 乙個私有的構造方法 2 乙個私有的靜態的當前類的物件作為屬性 3 乙個公共的靜態的返回物件的方法 首先理解一下什麼是靜態類,靜態類...

單例模式的設計

單例模式可以保證在專案執行過程中,保證只有乙個物件,只分配一塊記憶體,防止不必要的記憶體開支,並且單例可以保證在專案中的全域性操作,即使在乙個.m檔案中建立了單例物件,開啟了單例物件的任務,但是在另外乙個.m檔案中可以對建立的單例物件進行操作,比如關閉單例任務等 下面簡單說下建立單例 用來儲存唯一的...