單例模式詳解

2021-08-14 12:18:48 字數 1334 閱讀 1444

package arithmetic.sigleton;

/** * 餓漢式

*@author cuijiao

*全域性的單例例項在類裝載時構建實現

*/public

class

singleb

public

static singleb getinstance()

}

最簡單寫法

package arithmetic.sigleton;

/** * version1.0

* *@author cuijiao 單列 懶漢式

*/public

class

singleton1

// 是靜態工廠方法

public

static singleton1 getinstance()

return instance;

}}

加同步鎖

package arithmetic.sigleton;

/** * version1.1

* *@author cuijiao 懶漢式 +同步鎖

*/public

class

singleton2

// synchronized避免了因多執行緒導致多個例項的問題。

public

static

synchronized singleton2 getinstance()

return instance;

}}

雙重檢查

package arithmetic.sigleton;

/** *@author cuijiao

* 懶漢式 +雙重檢查(double-check)

*/public

class

singleton3

public

static singleton3 getinstance() }}

return instance;

}}

終極版

package arithmetic.sigleton;

/** *@author cuijiao

* 懶漢式 終極版

*/public

class

singleton4

public

static singleton4 getinstance() }}

return instance;

}}

單例模式詳解

單例模式的意思就是只有乙個例項。單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。1.單例模式的要點 顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。2.單例模式的優點 1.例項控制 si...

單例模式詳解

單例模式是設計模式中比較常用的,今天我要詳細的了解一下,並且進行一些比較 public class singleton public static singleton getinstance catch interruptedexception e 單例模式的精髓就在這,類的內部可以new inst...

單例模式 詳解

保證乙個類僅有乙個例項,並且提供乙個訪問它的全域性訪問點 在該例項不存在的情況下,可以通過乙個方法建立乙個類來實現建立類的新例項 如果例項已經存在,它會簡單返回該物件的引用 建立型模式 var singleton function return var singlea singleton.getin...