永遠年輕,永遠熱淚盈眶。寫乙個單例模式
單例模式有多種寫法,以下整理了六種寫法,你都學會了嗎?
public
class
test01
public singleton1 getinstance()
}/**
* 懶漢式--非執行緒安全的
*/public
static
class
singleton2
public singleton2 getinstance()
return instance;}}
/** * 懶漢式--執行緒安全的(效率低,每次都要上鎖)
*/public
static
class
singleton3
public
synchronized singleton3 getinstance()
return instance;}}
/** * 懶漢式--執行緒安全的(效率高,推薦使用)
*/public
static
class
singleton4
public
static singleton4 getinstance()
}}return instance;}}
/** * 靜態內部類--執行緒安全(效率高,推薦)
*/public
static
class
singleton5
private
singleton5()
public
static singleton5 getinstance()
}/**
* 列舉方式
*/public
enum singleton6
}}
劍指offer 單例模式
單例模式分為懶漢式和餓漢式。所謂單例模式,就是構造器私有化,對外界提供唯一的乙份例項。public class test class person 構造器私有化 public static person getinstance return p public class test class per...
劍指offer 題2 單例模式
懶漢式 第一次呼叫時載入 1.第一版 上來沒有想很多,直接敲起,使用synchronized保證執行緒安全,如下 public class single 使用synchronized保證安全 public static synchronized single getsingle return ins...
劍指offer 2 單例模式
實現乙個單例模式 實現單例模式的關鍵在於 將建構函式設定為private,或是protected 建立乙個靜態函式,呼叫建構函式。使用乙個靜態成員變數儲存單例物件 因為只能在堆上分配記憶體,因此需要乙個函式顯式的呼叫析構函式 class singleton return obj singleton ...