值得收藏!教你如何在IDEA中快速查看Java字节码

网友投稿 208 2023-01-12

值得收藏!教你如何在IDEA中快速查看Java字节码

一、javap的参数

-help  --help  -?        输出此用法消息

  -version                 版本信息

  -v  -verbose             输出附加信息

  -l                       输出行号和本地变量表

  -public                  仅显示公共类和成员

  -protected               显示受保护的/公共类和成员

  -package                 显示程序包/受保护的/公共类和成员 (默认)

  -p  -private             显示所有类和成员

  -c                       对代码进行反汇编

  -s                       输出内部类型签名

  -sysinfo                 显示正在处理的类的系统信息 (路径, 大小, 日期, MD5 散列)

  -constants               显示静态最终常量

  -classpath        指定查找用户类文件的位置

  -bootclasspath    覆盖引导类文件的位置

因为我们知道java文件进入虚拟机的一个大致过程是:

A.java文件,经过编译后,生成.class文件,这个.class文件是个二进制文件,你没法看得懂,只有虚拟机能看得明白,因为虚拟机有一个字节码表,而作为程序员是看不懂这些16进制的文件的,你这可以背下来???

因为我这里用到的是Notepad++,需要安装一个HEX-Editor插件;下面的东http://西我只知道一个ca fe ba be.....

所以class文件就长这个样子,那么这些什么00 07,这些16进制的表示,对应代表着什么呢?这个以后http://再说,总之你目前看不懂就是了

那么java提供了可以解析class文件称为字节码文件的工具,把这个class文件,翻译成字节码文件,告诉虚拟机你要去做什么操作。

所以javap的命令,就是这样来的。java parser!!

二、配置IDEA

然后+号,这三行照写下

$JDKPath$\bin\javap.exe

-verbose -p -c $FileClass$

$OutputPath$

然后OK点击。

这mNrFoti样就能看到编译的细节了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解析Spring Boot内嵌tomcat关于getServletContext().getRealPath获取得到临时路径的问题
下一篇:新浪微博免费api(新浪微博免费下载安装)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~