我不太清楚单词类的早期初始化是什么意思。此外,了解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