java單例模式確保一個類只有一個實例,自行提供這個實例並向整個系統提供這個實例。
特色:
1,一個類只能有一個實例;
2,本身建立這個實例;
3,整個系統都要使用這個實例。
--------------------------------
Singleton模式主要做用是保證在Java應用程序中,一個類Class只有一個實例存在。在不少操做中,好比創建目錄 數據庫鏈接都須要這樣的單線程操做。一些資源管理器經常設計成單例模式。
外部資源:譬如每臺計算機能夠有若干個打印機,但只能有一個Printer Spooler,以免兩個打印做業同時輸出到打印機中。每臺計算機能夠有若干個通訊端口,系統應當集中管理這些通訊端口,以免一個通訊端口被兩個請求同時調用。
內部資源,譬如,大多數的軟件都有一個(甚至多個)屬性文件存放系統配置。這樣的系統應當由一個對象來管理這些屬性文件。
--------------------------------
單例模式,能避免實例重複建立;
單例模式,應用於避免存在多個實例引發程序邏輯錯誤的場合;
單例模式,較節約內存。java
************************************************數據庫
單例模式的代碼實現?框架
單例模式在java框架中的運用?hibernate
例如:hibernate 中 SessionFactory ,單例模式就是爲了保證它們不被重複建立,由於這是沒有必要的。單例的使用每每是源於某些 bean 被頻繁的使用,並且,建立它們的成本消耗很高。 線程