for底层指令

2024-06-17  本文已影响0人  zzz_0427
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指令,跳转到第二行指令
上一篇 下一篇

猜你喜欢

热点阅读