这是一个示例代码:
public class TestIO{
public static void main(String[] str){
TestIO t = new TestIO();
t.fOne();
t.fTwo();
t.fOne();
t.fTwo();
}
public void fOne(){
long t1, t2;
t1 = System.nanoTime();
int i = 10;
int j = 10;
int k = j*i;
System.out.println(k);
t2 = System.nanoTime();
System.out.println("Time taken by 'fOne' ... " + (t2-t1));
}
public void fTwo(){
long t1, t2;
t1 = System.nanoTime();
int i = 10;
int j = 10;
int k = j*i;
System.out.println(k);
t2 = System.nanoTime();
System.out.println("Time taken by 'fTwo' ... " + (t2-t1));
}
}
这给出了以下输出: 100 'fOne' 花费的时间 ... 390273 100 'fTwo' 花费的时间 ... 118451 100 'fOne' 花费的时间 ... 53359 100 'fTwo' 花费的时间 ... 115936按任意键继续 。. .
为什么第一次执行相同的方法比连续调用需要更多的时间(明显更多)?
我尝试给-XX:CompileThreshold=1000000
命令行,但没有区别。