設計模式之單例設計模式

2021-08-28 08:14:50 字數 1101 閱讀 4965

目錄

1.到底什麼是設計模式?

2.什麼是單例設計模式?

3.單列設計模式的兩種實現方式

餓漢式懶漢式(執行緒不安全)

4.執行緒安全的寫法

餓漢式懶漢式(執行緒安全)

設計模式可以理解為別人成功的故事,通用的套路,前人的經驗,設計模式是一種思想,沒有具體的實現。

打乙個比方:世界上只有乙個太陽,乙個月亮,單列設計模式就是體現這個特點,程式中的物件只能被建立一次,並且

提供乙個全域性的訪問點。

private 單列模式()

private static final 單列模式 instance = new 單列模式(); //構建單列

//得到乙個例項

public static final 單列模式 getinstance()

餓漢式,在類建立的時候就被初始化,執行緒安全

這樣節約了一些資源,但是執行緒不安全,因為建立的時候會對instance進行判斷是否為null。

private 單例模式執行緒安全二 (){};

private static final 單例模式執行緒安全二 instance =null; //構建單列

public static final 單例模式執行緒安全二 getinstance()

else

}

private 單例模式執行緒安全一 (){};

private static final 單例模式執行緒安全一 instance = new 單例模式執行緒安全一(); //構建單列

public static final 單例模式執行緒安全一 getinstance()

}

private 單例模式執行緒安全二 (){};

private static final 單例模式執行緒安全二 instance =null; //構建單列

public static final 單例模式執行緒安全二 getinstance()

else

}}

這種方式是兼顧效率和安全的。

設計模式之 單例設計模式

單例設計模式 單例設計模式概述 單例模式就是要確保類在記憶體中只有乙個物件,該例項必須自動建立,並且對外提供。優點 在系統記憶體中只存在乙個物件,因此可以節約系統資源,對於一些需要頻繁建立和銷毀的物件單例模式無疑可以提高系統的效能。缺點 沒有抽象層,因此擴充套件很難。職責過重,在一定程式上違背了單一...

設計模式之單例設計模式

singleton 保證乙個類只有乙個例項,並提供訪問它的全域性訪問點 類初始化時,立即載入這個物件 沒有延時載入的優勢 載入類時,天然的是執行緒安全的!private static singletondemo1 instance new singletondemo1 private singlet...

設計模式之單例設計模式

核心作用 保證乙個類只有乙個例項,並提供乙個訪問該例項的全域性訪問點 單例模式分為 懶漢式 餓漢式 雙重檢測鎖 內部類式 列舉式 public class lazysingleclass 構造器私有化 public static lazysingleclass getinstance 餓漢式 只是宣...