JAVA 單例Singleton的七種模式

2021-08-02 09:44:14 字數 1372 閱讀 4628

private

static singleton1 instance;

private

singleton1()

public

static singleton1 getinstance()

return instance;

}

private

static singleton2 instance;

private

singleton2()

public

static

synchronized singleton2 getinstance()

return instance;

}

基於classloder機制避免了多執行緒的同步問題

private

static singleton3 instance = new singleton3();

private

singleton3()

public

static singleton3 getinstance()

private

static singleton4 instance;

static

private

singleton4()

public

static singleton4 getinstance()

利用了classloder的機制來保證初始化instance時只有乙個執行緒

singleton類被裝載了,instance不一定被初始化

只有顯示通過呼叫getinstance方法時,才會顯示裝載singletonholder類

private

static

class

singleton5holder

private

singleton5()

public

static

final singleton5 getinstance()

public

enum singleton

}

private

volatile

static singleton7 instance;

private

singleton7()

public

static singleton7 getinstance() }}

return instance;

}

java 單例模式 Singleton

單例模式分為懶漢式與餓漢式兩種模式 相同點 在類建立的同時就已經建立好乙個靜態的物件供系統使用,並且以後不再改變。不同點 執行緒安全,在建立例項物件時,不加上synchroized,則會導致對物件的訪問不是執行緒安全。懶漢式是延遲載入,直到用的時候才載入 以時間還空間 餓漢式是即時載入,一開始就載入...

Java設計模式 單例 Singleton

單例是保證乙個記憶體 程序裡只有乙個類的例項,並提供乙個訪問它的全域性訪問點。唯一例項 因為單例模式的作用就是產生唯一的例項,所以我們只要判斷為空的時候建立物件即可。public class singleton return msingleton 執行緒安全 上面這種情況如果遇到在兩個執行緒裡面同時...

Java之單例模式(Singleton)

1.概念 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。2.uml圖 1 懶漢模式 只有在自身需要的時候才會建立。執行時獲得物件,它在整個應用的生命週期只有一部分時間在占用資源。public class singleton public static synchronized single...