对于术语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/

10-16 16:48