我在一台2.7 GHz 英特尔酷睿 i7的笔记本电脑上运行以下 Java 代码。我打算让它测量用2 ^ 32次迭代完成一个循环需要多长时间,我预计大约是1.48秒(4/2.7 = 1.48)。
但实际上它只需要2毫秒,而不是1.48秒。我想知道这是否是 JVM 优化的结果?
public static void main(String[] args)
{
long start = System.nanoTime();
for (int i = Integer.MIN_VALUE; i < Integer.MAX_VALUE; i++){
}
long finish = System.nanoTime();
long d = (finish - start) / 1000000;
System.out.println("Used " + d);
}