最近看一些文档,发现很多都查看字节码,对代码逻辑、数据结构的分析还是很有帮助的,类似如下的图:
在我们工作、学习、以及研究 JVM 过程当中,不可避免的要查看 Java 字节码,通过查看字节码可以了解一个类的编译结果,也能通过编译器层面来分析一个类的性能。
字节码文件是不能直接打开的,下面栈长教大家几种简单的方法如何查看 Java 字节码。
1、使用 javap 命令查看字节码
命令格式如下:
javap -c xxx.class
JDK 提供的了,不解释,来,演示操作一把:
比如HelloWorld.java
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}
javap -c HelloWorld.class
如上所示,可以看到 HelloWorld类的的字节码。
2、Intellij IDEA 中查看字节码
Intellij IDEA 直接集成了一个工具菜单,可以直接查看字节码,打开 ByteCode
插件窗口方法如下:
注意:鼠标需要放在代码里面,再去点击View工具菜单
如图所示,可以看到 String 类的的字节码。
是不是很方便?
如果看不到这个菜单,那可能你当前的类没有编译,需要你编译一下。