public class HelloWord {
public static void main(String[] args) {
for (int i = 0; i < 4; i++) {
}
}
}
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
0: iconst_0
1: istore_1
2: iload_1
3: iconst_4
4: if_icmpge 13
7: iinc 1, 1
10: goto 2
13: return
LineNumberTable:
line 5: 0
line 7: 13
1、iconst_0指令,把0放入操作数据栈中

iconst_0指令
2、istore_1指令,把0保存到局部变量表一号槽位中

istore_1指令
3、iload_1指令,把局部变量表一号槽位中的0复制到操作数据栈中

iload_1指令
4、iconst_4指令,把4放入操作数据栈

iconst_4指令
5、if_icmpge 13指令,比较栈顶2个元素4和0,4>=0,则继续向下执行, !4>=0,跳转到第13行
6、iinc 1, 1指令,局部变量表1号槽位0加1

iinc 1, 1指令
7、goto 2指令,跳转到第二行指令
网友评论