四种方式查看Java字节码(IDE使用IDEA)

在深入分析Java代码时往往需要分析Java字节码,从Java字节码带给我们更多的设计细节,了解底层原理。以下四种方式能够快速的让我们食用Java字节码。

使用javap -v class名称

直接在命令行使用

无需下载任何其他插件,直接可以使用。
如图,查看了一个Spring Boot的入口类GreenaApplication.class的字节码
四种方式查看Java字节码(IDE使用IDEA)

在IDEA的命令行使用

很多时候能在IDEA中解决的,切换一个页面多麻烦,尤其是CMD有些不大友好的体验,直接使用IDEA的Terminal.
效果如下
四种方式查看Java字节码(IDE使用IDEA)

使用IDEA的External Tools快捷食用

都已经在IDEA中了。每次要找到对应文件,然后在访问Terminal效率还是太低。直接配置一个External Tools,方便快捷。
配置External Tool 路径:File->Setting->Tools->External Tools 点击绿色+添加
四种方式查看Java字节码(IDE使用IDEA)
配置External Tools,这块一定要注意

  • 1.一定要 $FileName$,不要使用FileClass,FileClass会带有包名,执行javap -v命令后,会找不到对应的文件
  • 2.最好指定Working directory为当前路径即$FileDir$,防止扫描不必要的class导致class文件确认的错误。

一般配置了JAVA_HOME以及PATH的在Program中直接 写入javap 就可以了。如果没有配置,请直接选中…选择javap.exe。
-v写在Program 或者Arguments 区别不大。
四种方式查看Java字节码(IDE使用IDEA)
配置好以后效果如下
四种方式查看Java字节码(IDE使用IDEA)
点击查看字节码,机会看到我们在IDEA的Terminal执行的效果了。

IDEA自带插件Show Bytecode

代码执行以后,在View->找到Show Bytecode即可看到字节码。IDEA插件生成的字节码更具有可读性,推荐使用。
四种方式查看Java字节码(IDE使用IDEA)
效果如下
四种方式查看Java字节码(IDE使用IDEA)

使用JBE - Java Bytecode Editor

JBE不仅仅可以查看字节码,还可以修改字节码。
下载地址
效果如下1
四种方式查看Java字节码(IDE使用IDEA)

使用jclasslib

jclasslib查看字节码。jclasslib还有很多其他功能,比如修改字节码。平时使用IDEA时,更多的是使用IDEA插件。也可以使用jclasslib客户端
IDEA安装jclasslib路径如图。
四种方式查看Java字节码(IDE使用IDEA)

安装成功后,执行某代码后。选择 View->Show Bytecode With jclasslib。则会出现如下图效果。不得不说就查看字节码这块,jclasslib插件还是更好 ,更值得推荐使用。
四种方式查看Java字节码(IDE使用IDEA)


  1. 图片来自http://set.ee/jbe/ ↩︎