从Java 5.0开始,您可以确保所有线程都将看到构造函数设置的最终状态。
如果您希望看到此失败,则可以尝试使用像1.3这样的旧JVM。
我不会打印出所有测试,而只会打印出故障。您可能在一百万失败中失败,但是错过了。但是,如果仅打印故障,则应该很容易发现它们。
看到此失败的一种更简单的方法是将其添加到编写器中。
f.y = 5;
并测试
int y = TestClass.f.y; // could see 0, 4 or 5if (y != 5) System.out.println("y = " + y);


