Java 單例模式

2021-09-23 21:41:48 字數 1102 閱讀 9233

什麼是設計模式?

是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。

使用設計模式的目的是什麼呢?

使用設計模式是為了可重用**、讓我們的**更容易被他人理解、保證**的可靠性更高。

設計模式又哪些呢?最基本有23種。

單例模式

有些物件我們只需要乙個,比如:配置檔案、工具類、執行緒池、快取、日誌物件等

如果創造出多個例項,就會導致許多問題,比如占用過多的資源,不一致的結果等。

通過單例模式能夠保證整個應用中某個例項有且只有乙個。

常用的單例模式有兩種:餓漢模式和懶漢模式。

餓漢單例模式:

1

public

class singleton 5/*

6* 通過static可以將這個方法變成類方法

7* 使她變為類所有8*/

9public

static singleton getsingleton()

10

13/*

14* 我有點不理解了,為啥要static和final,看樣子基礎還不夠

15*/

16 }

為什麼叫餓漢模式:因為這個單例物件還沒使用就建立好了。

下面介紹下單例模式中的懶漢模式:

1

public

class singleton 6/*

7* 懶漢模式就是在獲取例項的方法中新增判斷語句8*/

9public

static singleton getsingleton()

10

14return singleton;

15 }

16 }

下面講講餓漢模式和懶漢模式的區別:

區別:餓漢模式的特點是載入類時比較慢,但執行時獲取物件的速度比較快,執行緒安全的

懶漢模式的特點是載入類時比較快,但執行時獲取物件的速度比較慢,執行緒不安全的

便於記憶我說兩句:

餓漢模式也就是還沒用就有物件例項了,這樣時執行緒安全的,都準備好了,當然安全了。

反過來懶漢模式在需要的開始才建立物件例項,也就是剛開始還沒準備好,萬一直接進入執行緒不就不安全了嘛~

java單例模式

第一種方法 public class singleton private static singleton singleton new singleton public static singleton getinstance 第二種方法 public class singleton private...

Java 單例模式

單例模式特點 1 單例類只能有乙個例項。2 單例類必須自己自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。一 餓漢式單例 基於classloder機制避免了多執行緒的同步問題,使用較多 public class singleton 這裡提供了乙個供外部訪問本class的靜態方法,可...

Java單例模式

單例模式的意圖是為了確保乙個類有且僅有乙個例項,並為它提供乙個全域性訪問點。單例模式通過隱藏建構函式,提供物件建立的唯一入口點,從而將類的職責集中在類的單個例項中。design patterns一書中把單例模式歸類為 建立型 模式,意圖是在表明單例物件承擔了其他物件所要依賴的職責。單例模式的優點 在...