學習jvm的時候,想查看字節碼和局部變量表,可以使用idea安裝jclasslib Bytecode View插件查看。
(1)安裝工具:
安裝完成后需要重啟idea.
(2)準備一段代碼,編譯運行
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
int c = a + b ; 操作數棧會放入a的值(10),b的值(20)
a與b相加獲得30.
操作舒棧寫入30.
系統將30賦予c