學習設計模式 - 單例模式
一丶定義
確保某個類只有乙個例項, 而且自行例項化並向整個系統提供這個例項.(ensure a class has only one instance, and provide a global point of access to it.)
二丶五種實現方式
1) 餓漢模式
publicclass
singleton1 //
私有建構函式
public
static
singleton1 getinstance()
}
2) 懶漢模式 + synchronized同步鎖
publicclass
singleton2 //
私有建構函式
public
static
synchronized singleton2 getinstance()
return
instance;
}}
synchronized同步鎖
3) 懶漢模式 + synchronized同步鎖 + 雙重檢查
publicclass
singleton3 //
私有建構函式
public
static
singleton3 getinstance()}}
return
instance;
}}
4)l懶漢模式 + 內部類
publicclass
singleton4 //
私有構造方法
public
static
singleton4 getinstance()
//內部類
//類在載入時, 初始化屬性會收集在方法
//多個執行緒呼叫初始化方法,會被阻塞,確保只有乙個執行緒呼叫,並保證屬性的可見性
private
static
class
innersingleton
}
5) 列舉單例
publicenum
singleton5
}
學習設計模式 單例模式
適用於 優點 缺點 1.懶漢式 public class singleton public static synchronized singleton getinstance return uniqueinstance 2.餓漢式 public class singleton public stat...
設計模式學習 單例模式
單例模式是一種常用的軟體設計模式。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。1.單例模式特點 2.單例模式作用 3.單例模式種類 a.餓漢式 b.懶漢式 c.懶漢式 ...
學習設計模式( ) 單例模式
定義 確保乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。型別 建立類模式 單例模式應該是23種設計模式中最簡單的一種模式了。它有以下幾個要素 單例模式現在主流推薦第一種雙重檢查型。以前流行的有根據例項化物件時機的不同有分為兩種 一種是餓漢式單例,一種是懶漢式單例。餓漢式單例在單例類被載...