学习jvm的时候,想查看字节码和局部变量表,可以使用idea安装jclasslib Bytecode View插件查看。
(1)安装工具:
安装完成后需要重启idea.

(2)准备一段代码,编译运行
java
package com.test.bytecodeview;
public class ByteCodeView {
public static void main(String[] args) {
int a = 10 ;
int b = 20 ;
int c = a +b;
System.out.println(c);
}
}
(3)找到编译后的class文件,选择view,Show Bytecode With jclasslib

(4) 查看字节码
这里有行号表(LineNumberTable)和局部变量表(LocalVariableTable)
局部变量表由Start(起始PC)、Slot(序号)、Name(名称)、Length(长度)构成。
操作数栈存储每步骤所有的相关的值。例如i
java
int c = a + b ;
操作数栈会放入a的值(10),b的值(20)
a与b相加获得30.
操作舒栈写入30.
系统将30赋予c
