public class Test01 {
public static void main(String[] args) {
int i = 1;
int j = 2;
int k = i + j;
i++;
}
}
示例代码:
类执行流程: 类 ->(java编译器:idea、eclipse等) -> class文件 -> (反编译生成汇编代码: 包括一些栈指令集) -> (jvm解释器、JIT即时编译器:热点代码、重复代码指令存入方法区,)-> 机器指令(0\1代码)
反编译成汇编代码: javap -v Test01.class
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
0: iconst_1 //指令
1: istore_1 /** 编译成一系列指令集 **/
2: iconst_2
3: istore_2
4: iload_1
5: iload_2
6: iadd
7: istore_3
8: iinc 1, 1
11: return
LineNumberTable:
line 10: 0
line 11: 2
line 12: 4
line 13: 8
line 14: 11
LocalVariableTable:
Start Length Slot Name Signature
0 12 0 args [Ljava/lang/String;
2 10 1 i I
4 8 2 j I
8 4 3 k I
}