假设我有一些Java代码:
public class SomeClass {
static {
private final double PI = 3.14;
private final double SOME_CONSTANT = 5.76;
private final double SOME_OTHER_CONSTANT = 756.33;
}
//rest of class
}
如果一个线程正在初始化 SomeClass 的 Class
对象,并且正在初始化静态块中的值,当第二个线程想要再次加载 SomeClass 的 Class
时,静态块会发生什么?第二个线程会忽略它并假设已经初始化,即使第一个线程没有完成吗?还是会发生其他事情?