这两个程序之间唯一明显的区别是 Java 版本。
问题是:到底发生了什么?
该图像证明两个程序包含完全相同的代码,但产生不同的结果。
这是代码:
static int x = 10;
static {
x = x + 10;
}
public static void main(String[] args) {
System.out.println(System.getProperty("java.version"));
System.out.println(new Date(System.currentTimeMillis()));
System.out.println(x);
}
Run Code Online (Sandbox Code Playgroud)
左侧使用旧的 netbeans 发行版。
右侧使用的是 apache netbeans IDE。
左侧使用jdk8(见图)
右侧使用的是jdk13(见图)
根据评论:jdk13 已 EOL ...但有些人在使用 jdk13 时无法重现它。
问题是:这是什么原因造成的?
java ×1