單例模式 懶漢模式和餓漢模式

2021-10-20 19:45:49 字數 859 閱讀 6791

單例模式就是在整個程式中只能有乙個類的例項存在,並提供乙個訪問該例項的全域性訪問點。

單例模式的優點:

1、由於單例模式只生成乙個例項,較少了系統開銷,當乙個物件的產生的產生需要比較多的資源時,如讀取配置、產生其他依賴物件是,則可以通過在應用啟動時直接產生乙個單例物件,然後永久駐留內容的方式來解決。

2、單例模式可以在系統設定全域性的訪問點,優化共享資源訪問,例如可以設計乙個單例類,負責所有資料表的對映處理。常用的五種單例模式實現方式:

主要的兩種實現方式:

1.懶漢式 (執行緒安全,呼叫效率高,但是不能延時載入)

2.餓漢式(執行緒安全,呼叫效率不高,但是能延時載入)

餓漢式來說就是單例物件立即生成。

public class singleton 

public static singleton getinstance()

}

測試

@test

public void test1()

懶漢式就是在第一次使用物件時來載入這個物件。

public class singleton2 

public static synchronized singleton2 getinstance()

return instance;

}}

測試:

@test

public void test2()

}).start();

//讓執行緒進入阻塞,把20次都執行完

}trycatch(ioexception e)

}

單例模式 餓漢模式和懶漢模式

一 所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在乙個物件例項。具體 的實現 1 餓漢模式 提前建立物件 餓漢模式 class bank 內部建立類的物件 此物件也必須建立為靜態的 private static bank instance new bank 提供公共...

單例模式 餓漢和懶漢模式

一 單例模式定義 單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。在計算機系統中,執行緒池 快取 日誌物件 對話方塊 印表機 顯示卡的驅動程式物件常被設計成單例。這些應用都或多或少具有資源管理器的功能。每台計算機可以有若干個印表機,但只能有乙個printer spooler,...

單例模式(餓漢模式 懶漢模式)

餓漢單例模式 通過單例模式可以保證系統中,應用該模式的類乙個類只有乙個例項 即乙個類只有乙個物件例項 並提供乙個訪問它的全域性訪問點,該例項被所有程式模組共享。設計模式 一書中給出了一種很不錯的實現,定義乙個單例類,使用類的私有靜態指標變數指向類的唯一例項,並用乙個公有的靜態方法獲取該例項。分點表述...