lok*_*oko 0 java performance for-loop pre-increment post-increment
在java中的for循环中执行预增量与后增量是否更高效?
示例代码:
for (int i=0; i<10; i++)
Run Code Online (Sandbox Code Playgroud)
和
for (int i=0; i<10; ++i)
Run Code Online (Sandbox Code Playgroud)
我注意到当我做一个预增量时,执行时间比我进行后增量时要小.为什么会出现这种情况的任何建议?谢谢.
jlo*_*rdo 10
我编译了一个最小的例子(Oracle jdk1.7.0_07):
public void post() {
for (int i=0; i<10; i++) {
}
}
public void pre() {
for (int i=0; i<10; ++i) {
}
}
Run Code Online (Sandbox Code Playgroud)
两种方法都生成相同的字节码:
0 iconst_0
1 istore_1
2 goto 8 (+6)
5 iinc 1 by 1
8 iload_1
9 bipush 10
11 if_icmplt 5 (-6)
14 return
Run Code Online (Sandbox Code Playgroud)