【发布时间】:2018-12-08 15:11:33
【问题描述】:
我为 Joshua Bloch 的书《Effective Java》找到了 this example code。它旨在说明为什么您应该避免不必要地创建对象:
public class Sum {
private static long sum() {
Long sum = 0L;
for (long i = 0; i <= Integer.MAX_VALUE; i++)
sum += i;
return sum;
}
public static void main(String[] args) {
int numSets = Integer.parseInt(args[0]);
long x = 0;
for (int i = 0; i < numSets; i++) {
long start = System.nanoTime();
x += sum();
long end = System.nanoTime();
System.out.println((end - start) / 1_000_000. + " ms.");
}
// Prevents VM from optimizing away everything.
if (x == 42)
System.out.println();
}
}
main方法的最后两行在这里完成了什么?
【问题讨论】:
-
现在,我称之为超级快速的复出 ;-)
标签: java optimization jvm effective-java