在我们工作、学习、以及研究 JVM 过程当中,不可避免的要查看 Java 字节码,通过查看字节码可以了解一个类的编译结果,也能通过编译器层面来分析一个类的性能。
字节码文件是不能直接打开的,下面给大家介绍我知道的两种查看字节码文件的三种方式。
- 使用 javap 命令查看字节码
命令格式如下:
javap -c xxx.class
该命令是JDK 提供的,直接操作一把:
$ javap -c Test.class
Compiled from "Test.java"
public class com.test.Test {
public com.test.Test();
Code:
0: aload_0
1: invokespecial #8 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: return
}
如上所示,可以看到 Test 类的的字节码。
- Intellij IDEA 中查看字节码
Intellij IDEA 直接集成了一个工具菜单,可以直接查看字节码,打开 ByteCode 插件窗口方法如下:
View -> Show bytecode
若看不到字节码,则是当前窗口类没有被编译,编译一下即可。