單例模式的各種姿勢

2021-07-31 13:51:14 字數 984 閱讀 9158

餓漢式:

基於classloder機制避免了多執行緒的同步問題,不過,instance在類裝載時就例項化

public

class singleton

public singleton getinstance()

}

懶漢式:

public

class singleton

public

static synchronized getinstance()

return singleton;

}}

雙檢鎖

volatile關鍵字不能丟

public

class singleton

public

static singleton getinstance()

synchronized(synobject)

}return instance;

}public

void

executemethod(...)

}

靜態內部類

public

class singleton

private

static

class singletonholder

public

static singleton getinstance()

}

列舉類

jdk1.5中才加入enum特性。不僅能避免多執行緒同步問題,而且還能防止反序列化重新建立新的物件,

public

enum singleton

}

單例模式的各種寫法

1.餓漢式單例模式 classname hungerysingleton description 餓漢式單例模式 author ymj date 2020 07 10 21 55 version v1.0 public class hungerysingleton public static hun...

單例模式各種實現詳解

餓漢模式 安全,但是無法實現懶載入 public class hungersingleton 懶漢單例 多執行緒會出現多個例項,需要優化 能夠實現懶載入 public class lazymansingleton public static lazymansingleton getinstance ...

單例模式各種實現方式的比較

一 餓漢式單例模式 型別1 餓漢式單例 可用 使用靜態常量,這會保證在類載入時 就初始化乙個a的例項,並且避免了執行緒安全問題。但是有可能該例項永遠不會被用到而導致浪費記憶體。public class a public a getinstance 型別2 餓漢式單例模式 可用 跟a型別,只不過初始化...