Java查看字节码文件(基于JDK和IDEA)

2021-07-23 00:00:00 文件 查看 字节

Java虚拟机执行的是Java字节码文件(也就是.class文件),比如写一个Demo.java类:

public class Demo {
    
    private static int num = 1;

    public static void main(String[] args) {
        System.out.println("say hello " + num);
    }
}

会对应生成一个对应的Java字节码文件Demo.class
《Java查看字节码文件(基于JDK和IDEA)》

1、查看原生的16进制代码:
需要下载WinHex
http://www.x-ways.net/winhex/ 运行WinHex,并且将Demo.class文件拖入其中,得到:
《Java查看字节码文件(基于JDK和IDEA)》

分析: CAFEBABE这4个字节表示的是魔术=咖啡。接下来的4个字节表示版本号,这里是00 00 00 34,其中,34为16进制对应的10进制的值为52,我们查看
jdk版本号对应关系如下:
《Java查看字节码文件(基于JDK和IDEA)》

34对应的jdk1.8。其它相关信息可以查看这篇博文:
https://www.jianshu.com/p/252f381a6bc4

2、需要解析16进制代码
利用javap命令 找到jdk的安装路径,我这里为:C:\Program\Java\jdk1.8.0_151\bin 然后配置到相应的环境变量:
《Java查看字节码文件(基于JDK和IDEA)》

执行cmd,目录切换到我们代码编译后的.class文件,执行如下命令javap -c Demo
《Java查看字节码文件(基于JDK和IDEA)》

IDEA中配置解析字节码: 由于我们通常使用IDE来开发java代码,因此,一种更加简便的方式是在IDEA中配置,解析Java字节码,具体操作如下: (1)点击File->Setting…

《Java查看字节码文件(基于JDK和IDEA)》

(2)Tools->ExternTools中点击那个绿色的加号
《Java查看字节码文件(基于JDK和IDEA)》

(3)添加Name、Program、Parameters以及Working directory,其中Program是你实际的jdk的路径下的javap.exe的路径。
《Java查看字节码文件(基于JDK和IDEA)》

(4)相应的*.java文件,右键能够看到如下标识:
《Java查看字节码文件(基于JDK和IDEA)》

(5)点击上述Show Byte Code,即可看到编译后的代码:
《Java查看字节码文件(基于JDK和IDEA)》

    原文作者:timchen525
    原文地址: https://blog.csdn.net/timchen525/article/details/80849672
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章