Java运行时对以下代码片段会进行什么样的优化?字节码并没有显示任何优化,但我认为Java应该在不运行整个for循环的情况下取最后一个for循环的值,因为String是一个基础的Java类。
注意:这个问题是在一次课堂测试中提出的,然而,我无法提供足够的证据来支持我的说法。
注意:这个问题是在一次课堂测试中提出的,然而,我无法提供足够的证据来支持我的说法。
public class Main {
public static void main(String[] args) {
String str = null;
for (long i = 0; i < 10000000000L; i++) {
str = new String("T");
}
System.out.println(str);
}
}
-XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining
。 - fgeString
是Java中一个“基本”的类"这一事实在这种情况下并没有什么关系。 - user207421