问题:

javap 能对给定的class文件提供的字节代码进行反编译。通过它,可以对照源代码和字节码,从而了解很多编译器内部的工作,-c 对代码进行反汇编, -v -verbose 输出附加信息 (比较全)

javap得到的是经过编译器优化过的字节码指令对应的助记符的操作流程

使用方法:javap.exe -v class文件 (-c class文件)

在IDEA的终端Terminal中使用javap反编译字节码很麻烦,而且我的terminal设置成git bash,找不到javap命令
IDEA 使用Javap反编译字节码 - 图1

解决:

我发现IDEA的External Tool可以帮助我们完成反编译功能

步骤:

IDEA 使用Javap反编译字节码 - 图2

IDEA 使用Javap反编译字节码 - 图3

  1. $JDKPath$\bin\javap.exe
  2. -v $FileClass$
  3. $OutputPath$

IDEA 使用Javap反编译字节码 - 图4

然后直接在java源文件上右键即可

IDEA 使用Javap反编译字节码 - 图5

反编译成功了~

IDEA 使用Javap反编译字节码 - 图6