1. 程式人生 > 其它 >Java單例設計模式

Java單例設計模式

單例設計模式:保證一個類僅有一個示例,並提供一個訪問它的全域性訪問點。

  1、構造方法私有化

  2、宣告一個本地物件

  3、給外部提供一個例項方法獲取物件例項

兩種實現方式:

  1、餓漢式:在類被載入後,物件被創捷,程式結束後被釋放

  2、懶漢式:在第一次呼叫 getInstance  方法時,物件被建立,程式結束後釋放

在專案中為什麼要使用單例模式,單例模式有什麼好處?

  目的是為了儘可能減少頻繁建立物件帶來的記憶體消耗,提高效率。

  工具類會頻繁被呼叫,在設計工具類(工具類只有功能方法,沒有屬性)的時候,常使用單例模式。

//餓漢式,佔用記憶體時間長,效率高

public
class Singleton{ private Singleon(){ } private static Singleton s = new Singleton(); public Singleton getInstance(){ return s; }

 public static void main(String args[]){
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance(); // s1==s2 ,單例模式只能獲取一個例項物件

} }
//懶漢式,佔用記憶體時間短,效率低(懶載入,延遲載入)
//在多執行緒訪問時,存在安全問題
public class Singleton{ private Singleton(){ } private static Singleton s; public Singleton getInstance(){ if(s==null){ s = new Singleton(); } return s; } }