我不太清楚單詞類的早期初始化是什麼意思。此外,瞭解Singleton類的生命週期也會有幫助。Java中Singleton類的早期初始化意味着什麼
2
A
回答
4
好Lazy initialization
意味着你沒有初始化ialize對象,直到第一次使用它們。
Early initialization
僅僅是相反的,你在類加載時預先初始化一個單例。
有辦法做早期初始化,一個是通過聲明你的單身人士爲static
。
以下爲例:
public class SingletonClassEarly {
private static SingletonClassEarly sce = new SingletonClassEarly();
private SingletonClassEarly() {} // make it private
public static SingletonClassEarly getInstance() {
return sce;
}
}
作爲每生命週期此singleton JVM後載入啓動時以及類被初始化。它在關閉/退出時由JVM卸載。
0
一個常在辛格爾頓這就是你看到的
private static YouClass singleTon ;
--
--
public static YouClass getInstance(){
if(singleTon == null){
singleTon = new YouClass();
}
return singleTon ;
}
在這種情況下,當你叫getInstance()
第一次那麼只有YouClass
實例獲得創建。
早期初始化,這意味着
在你的類
private static YouClass singleTon = new YouClass();
創建實例,同時宣佈它的自我。
從Singleton pattern wiki,閱讀類型,
延遲初始化
渴望初始化
靜態塊初始化
1
懶Initalizaion
class SingletonClass {
private static SingletonClass object;
private SingletonClass() {}
public static SingletonClass getInstance(){
if(object == null){
object= new SingletonClass(); //Lazy Initalizaion
}
return object;
}
}
早期初始化
0
感謝大家的解釋。這有助於回答我的問題。
我還發現了一些有用的博客文章,詳細介紹了不同方法如何工作。
這裏是鏈接:
http://howtodoinjava.com/2012/10/22/singleton-design-pattern-in-java/
下一篇文章將有助於解釋使用volatile關鍵字的使用雙重檢查方法時:
http://javarevisited.blogspot.com/2011/06/volatile-keyword-java-example-tutorial.html
相關問題
- 1. 在C中初始化內存爲零意味着什麼?
- 2. 取消初始化對象意味着什麼?
- 3. google.setOnLoadCallback(初始化)函數究竟意味着什麼?
- 4. Java中的空間意味着什麼?
- 5. 方括號在C中的數組初始化中意味着什麼?
- 6. 結腸在Java中意味着什麼?
- 7. '...'在java中意味着什麼?
- 8. 「SomeClass.this」在java中意味着什麼?
- 9. tmp_xxx在java中意味着什麼?
- 10. @符號在java中意味着什麼?
- 11. 「| =」在Java中意味着什麼?
- 12. 「x =(something)」在java中意味着什麼?
- 13. 「this.x」在java中意味着什麼?
- 14. $$ _ Javasassist_11在java中意味着什麼?
- 15. 什麼%*%意味着R中
- 16. 空「預期:」標題意味着什麼?
- 17. 反規範化意味着什麼?
- 18. 多元化意味着什麼?
- 19. 什麼?意味着iOS的
- 20. 分配時&& do /意味着什麼? JAVA
- 21. 這些Java錯誤意味着什麼?
- 22. 這個java泛型意味着什麼?
- 23. 在AngularJS中結尾意味着什麼double意味着
- 24. Java中的基本初學者:Java中的「參數」意味着什麼
- 25. 什麼是 '自我.__類__.__ missing__' 意味着
- 26. 什麼類型在Haskell意味着
- 27. 的Java + =意味着
- 28. void **意味着什麼
- 29. PREEMPTIVE_XE_DISPATCHER這意味着什麼?
- 30. Field.Index.NOT_ANALYZED_NO_NORMS意味着什麼
Anubhava嗨,有什麼方法爲早期初始化 – upog
@upog:使用'Enum'是另一種方法或使用像Spring一樣的框架注入單例。 – anubhava