如果我使用 static final
创建一个单例对象,那么它会是线程安全的吗?这是示例代码。
public class StaticSingleton {
private static final StaticSingleton instance = new StaticSingleton();
private StaticSingleton() {
}
public static StaticSingleton GetInstance() {
return instance;
}
}
最佳答案
是的,正如你所说,这很急切,而且线程安全。看看这个例子:
classFoo {
private static class HelperHolder{
public static final Helper helper= new Helper();
}
public static Helper getHelper() {
return HelperHolder.helper;
}
}
这不是急切的,因此只有当您需要他时才会创建我们的辅助对象(内部类在被引用之前不会加载) - 懒惰:)
关于java - java中的静态最终(渴望)单例线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53681762/