Этот класс не инициализирует себя обычным способом, поэтому он вызывает помощь фонового потока.Потоки Java ведут себя differnetly
Насколько я понимаю, программа должна печатать правду?
Но если вы запустили программу, вы обнаружили, что она ничего не печатает; это просто зависает.
public class Test {
private static boolean isInitialized = false;
static {
Thread t = new Thread(new Runnable() {
public void run() {
isInitialized = true;
}
});
t.start();
try {
t.join();
} catch (InterruptedException e) {
}
}
public static void main(String[] args) {
System.out.println(isInitialized);
}
}
Может кто-то пожалуйста, объясните, почему это происходит.
Похоже на тупик – erkfel