如果我使用static final
创建一个单例对象,那么它是线程安全的吗?这是示例代码。
public class StaticSingleton {
private static final StaticSingleton instance = new StaticSingleton();
private StaticSingleton() {
}
public static StaticSingleton GetInstance() {
return instance;
}
}
答案 0 :(得分:0)
是的,正如您所说的那样,它也很安全。看看这个例子:
classFoo {
private static class HelperHolder{
public static final Helper helper= new Helper();
}
public static Helper getHelper() {
return HelperHolder.helper;
}
}
这并不急,所以只有在需要帮助对象时才会创建我们的帮助对象(内部类直到被引用才加载)-lazy:)