JAVA單例模式

2021-07-15 16:23:42 字數 799 閱讀 3871

單例模式有以下特點:

1、單例類只能有乙個例項。

2、單例類必須自己建立自己的唯一例項。

3、單例類必須給所有其他物件提供這一例項。

//懶漢式單例類.在第一次呼叫的時候例項化自己 

public class singleton

public static singleton getinstance()

return uniqueinstance;}}

//餓漢式單例類.在類初始化時,已經自行例項化 

public class singleton1

private static final singleton1 single = new singleton1();

//靜態工廠方法 

public static singleton1 getinstance()

}餓漢模式和懶漢模式的區別

從名字上來說,餓漢和懶漢,

餓漢就是類一旦載入,就把單例初始化完成,保證getinstance的時候,單例是已經存在的了,

而懶漢比較懶,只有當呼叫getinstance的時候,才回去初始化這個單例。

1、執行緒安全:餓漢式天生就是執行緒安全的,懶漢式本身是非執行緒安全的。

2、資源載入和效能:餓漢式在類建立的同時就例項化乙個靜態物件出來,不管之後會不會使用這個單例,都會佔據一定的記憶體,但是相應的,在第一次呼叫時速度也會更快,因為其資源已經初始化完成,

而懶漢式顧名思義,會延遲載入,在第一次使用該單例的時候才會例項化物件出來,第一次呼叫時要做初始化,如果要做的工作比較多,效能上會有些延遲,之後就和餓漢式一樣了。

java單例模式

第一種方法 public class singleton private static singleton singleton new singleton public static singleton getinstance 第二種方法 public class singleton private...

Java 單例模式

單例模式特點 1 單例類只能有乙個例項。2 單例類必須自己自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。一 餓漢式單例 基於classloder機制避免了多執行緒的同步問題,使用較多 public class singleton 這裡提供了乙個供外部訪問本class的靜態方法,可...

Java單例模式

單例模式的意圖是為了確保乙個類有且僅有乙個例項,並為它提供乙個全域性訪問點。單例模式通過隱藏建構函式,提供物件建立的唯一入口點,從而將類的職責集中在類的單個例項中。design patterns一書中把單例模式歸類為 建立型 模式,意圖是在表明單例物件承擔了其他物件所要依賴的職責。單例模式的優點 在...