一个运行测试的源程序:
public class TestC1 { public void func() { int a = 6; int b = 5; int c = 1; } }
我们用命令javap -c TestC1,查看其字节码,如下:
public void func(); Code: 0: bipush 6 2: istore_1 3: iconst_5 4: istore_2 5: iconst_1 6: istore_3 7: return }
为什么int值大于5的表示为bipush <n>的形式,反之为iconst_<n>的形式呢,为什么要这样呢?