gpt4 book ai didi

java - 单例模式推荐方法

转载 作者:行者123 更新时间:2023-11-29 04:37:09 26 4
gpt4 key购买 nike

案例一:

public class Singleton {

public static final Singleton INSTANCE = new Singleton();

private Singleton() {
...
}
}

案例二:

public class Singleton {

private static final Singleton INSTANCE = new Singleton();

private Singleton() {
...
}

public static Singleton getInstance() {
return INSTANCE;
}
}

第二种方法是实现单例设计模式的推荐方法吗,因为我从未在任何单例模式示例中看到第一种方法。

最佳答案

无需深入探讨单例是一种反模式(但您应该仔细阅读它!),目前在 Java 中创建单例的最佳方法是使用枚举。

public enum Singleton {
INSTANCE;
}

这样更好的原因是 JVM 保证在任何时候都只存在枚举的一个实例(每个类加载器)。它是线程安全的,您不能使用反射来创建单例的另一个实例。

枚举值也是延迟实例化的,因此您不会在第一次访问 Singleton.INSTANCE 之前创建单例。

关于java - 单例模式推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40862975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com