JAVA設計模式之單例模式

2021-09-05 12:56:00 字數 1190 閱讀 8550

單例模式——確保物件的唯一性。

下面有四種方法實現單例模式並做了驗證。

1.普通的單例模式

//普通的單例模式,將建構函式設定為private,singleton = null在getsingleton()方法判斷是返回已有的例項化物件還是新建物件

public class singleton

public static singleton getsingleton()

return singleton;

}public static void main(string args)

}

2.懶漢式單例模式

//懶漢式,其實普通的單例模式也是懶漢式,不過本類進行了增強

public class lazysingleton

public static lazysingleton getlazysingleton()}}

return lazysingleton;

}public static void main(string args)

}

3.餓漢式單例模式

//餓漢式單例模式

// private static eagersingleton eagersingleton = new eagersingleton(),在類載入的時候就已經初始化物件eagersingleton

public class eagersingleton

public static eagersingleton geteagersingleton()

public static void main(string args)

}

4.增強型

//增強型單例模式iodh

//餓漢式單例類不能實現延遲載入,不管將來用不用始終佔據記憶體;懶漢式單例類執行緒安全控

//制煩瑣,而且效能受影響

public class supersingleton

private static class holderclass

public static supersingleton getsupersingleton()

public static void main(string args)

}

java設計模式之單例模式

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

java設計模式 之 單例模式

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

Java設計模式之單例模式

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