單例模式的概念:
單例模式的意思就是只有乙個例項。單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。
關鍵點:
1)乙個類只有乙個例項,這是最基本的
2)它必須自行建立這個例項
3)它必須自行向整個系統提供這個例項
兩種實現方式:懶漢式和餓漢式單例模式
雙重檢查鎖(dcl)實現單例模式,雖然解決了執行緒不安全的問題,以及保證了資源的懶載入,在需要的時候,才會進行例項化的操作。但是在某些情況下(比如jdk低於1.5)會出現dcl失效,所以有一種很簡潔且依舊是懶載入的方法實現單例模式。寫法如下所示:
1 1 publicview codeclass singleton
6 6
7 7 public
static
synchronized
singleton getsingleton()
11 11 return
singleton;
12 12}
13 13 public
static
class ehsingleton
16 16 public
static
ehsingleton getehsingleton()
19 19}
20 20 public
static
class doubleli
23 23 public
static
doubleli getinstance()
29 29}
30 30}
31 31 return
dl;32 32}
33 33}
34 34 }
單例模式 餓漢模式
package singleton import sso.singlepattern 1.應用場景 有些物件只需要乙個例項,像老婆 2.作用 保證整個應用程式中某個例項只有乙個 3.型別 餓漢模式,懶漢模式 此例為餓漢模式,因為instance是static修飾,當類載入的時候就會被例項化,就像餓漢...
單例模式 餓漢模式
一.單例模式的應用場景 1.資源共享的情況下,避免由於資源操作造成的效能損耗,比如配置檔案的載入 2.控制資源的情況下,方便資源之間的通訊,比如資料庫連線池,執行緒池 二.基本模組 public class myobject public static myobject getinstance 測試...
單例模式之懶漢模式 餓漢模式
3.餓漢模式 4.二者對比 單例模式屬於建立型模式的一種,應用於保證乙個類僅有乙個例項的場景下,並且提供了乙個訪問它的全域性訪問點,如spring中的全域性訪問點beanfactory,spring下所有的bean都是單例。單例模式的特點 從系統啟動到終止,整個過程只會產生乙個例項。public c...