对于术语Singleton类的早期初始化,我不太清楚。了解Singleton类的生命周期也将有所帮助。
最佳答案
Lazy initialization
表示您直到第一次使用对象时才初始化它们。Early initialization
只是相反,您需要在加载类时预先初始化单例。
有很多方法可以进行早期初始化,一种方法是将您的单例声明为static
。
以下是一个示例:
public class SingletonClassEarly {
private static SingletonClassEarly sce = new SingletonClassEarly();
private SingletonClassEarly() {} // make it private
public static SingletonClassEarly getInstance() {
return sce;
}
}
根据生命周期,此单例将在JVM启动后和类初始化时加载。关闭/退出时,JVM会卸载它。
关于java - Java中的Singleton类的早期初始化是什么意思,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19068468/