【发布时间】:2011-12-09 01:32:31
【问题描述】:
如果单例实现如下,
class Singleton {
private static Singleton instance = new Singleton();
public static Singleton getInstance() {
return instance;
}
}
此实现与延迟初始化方法有何不同? 在这种情况下,将在加载类时创建实例,并且仅在第一次主动使用时才加载类本身(例如,Singleton.getInstance() 而不是在您声明实例时 Singleton singleton = null;)
即使使用惰性初始化方法,实例也是在调用 getInstance() 时创建的
我错过了什么吗?
【问题讨论】:
-
你没有抓住重点。您也可以调用任何其他静态方法。
Initialization on demand holder idiom修复此问题。 -
看看这个csharpindepth.com/Articles/General/Singleton.aspx它是c#,但它可能对你有帮助。
-
王子,我想你已经回答了我的问题。谢谢
-
@java_geek 很高兴看到这两种方法的比较以提供有关该问题的进一步上下文。 (友情提示)。
标签: java singleton lazy-initialization