java設計模式之單例模式

2021-08-09 08:11:32 字數 1126 閱讀 8039

什麼是單例模式,單例模式有什麼特點?為什麼要用單例模式?

1.單例模式就是從系統啟動到終止,全過程只會產生乙個例項。

2.當我們在應用開發中會遇到功能性衝突,例如產生了多個相同的的配置檔案,這時候就造成了浪費,所以使用單例模式是最好的選擇。

3.單例模式必須自己建立單例。

生活中有哪些單例的例子呢?

1.配置檔案,相同的配置檔案產生多個不是很浪費嗎?

2.每個物體都是不同的,所以都是單例的。

3.直接領導,如果有多個直接領導,哪麼我們該聽誰的呢?

在這裡我們介紹幾種常用的單例模式寫法懶漢式單例、餓漢式單例、雙重鎖單例、靜態內部類單例

1.懶漢式單例

//懶漢式單例類.在第一次呼叫的時候例項化自己

public classsingleton

returninstance

; }

privatesingleton()

}

2.

餓漢式單例

public classsingleton

//這裡提供了乙個供外部訪問本class的靜態方法,可以直接訪問

public staticsingleton getinstance()

}

3.雙重鎖單例
public classsingleton

public staticsingleton getinstance()}}

returninstance

; }

}

4.靜態內部類單例

public classsingleton 

privatesingleton (){}

public static finalsingleton getinstance()

}

java設計模式之單例模式

單位面試題目中有一道關於單例模式的題目.大多數參加筆試的同事都會寫出getinstance這個函式,但是當我問起什麼情況下需要使用單例 單例具體有什麼好處的時候 static函式也可以構建唯一例項,為什麼還需要單例.從使用單例的經驗來看,如下場景下,個人感覺應該使用單例 1.如果需要構建乙個工具類,...

java設計模式 之 單例模式

單例模式 有些類在程式執行過程中只需要儲存乙個例項,比如檔案管理類,音訊管理類,那麼我們如何實現乙個單例類呢?有以下幾點 1 定義乙個靜態變數 2 建構函式私有化 3 提供乙個public 靜態方法,獲取這個例項 4 一定要做執行緒同步 public static class singleton p...

Java設計模式之單例模式

說到單例模式 大家一定非常熟悉 這是最常見也是設計模式中相對簡單 好理解的設計模式 今天就跟大家掰一掰單例模式 單例模式確保某個類只有乙個例項 應用場景 執行緒池 快取 等物件常常被設計成單例 然而單例分兩種 1 惡漢式 2 懶漢式 我們先來看下 惡漢式 public class singleton...