开发中如果我们想看JVM虚拟机怎么编译我们的Java文件,生成字节码的,用IDEA工具就可以查看!!
1、javap的参数
-help --help -? 输出此用法消息
-version 版本信息
-v -verbose 输出附加信息
-l 输出行号和本地变量表
-public 仅显示公共类和成员
-protected 显示受保护的/公共类和成员
-package 显示程序包/受保护的/公共类和成员 (默认)
-p -private 显示所有类和成员
-c 对代码进行反汇编
-s 输出内部类型签名
-sysinfo 显示正在处理的类的系统信息 (路径, 大小, 日期, MD5 散列)
-constants 显示静态最终常量
-classpath <path> 指定查找用户类文件的位置
-bootclasspath <path> 覆盖引导类文件的位置因为我们知道java文件进入虚拟机的一个大致过程是:
A.java文件,经过编译后,生成.class文件,这个.class文件是个二进制文件,你没法看得懂,只有虚拟机能看得明白,因为虚拟机有一个字节码表,而作为程序员是看不懂这些16进制的文件的,你这可以背下来???
因为我这里用到的是
Notepad++,
需要安装一个HEX-Editor
插件;下面的东西我只知道一个ca fe ba be.....所以class文件就长这个样子,那么这些什么00 07,这些16进制的表示,对应代表着什么呢?这个以后再说,总之你目前看不懂就是了
那么java提供了可以解析class文件称为字节码文件的工具,把这个class文件,翻译成字节码文件,告诉虚拟机你要去做什么操作。
所以javap的命令,就是这样来的。java parser!!
2、配置IDEA
然后+号,这三行照写下
- $JDKPath$\bin\javap.exe
- -verbose -p -c $FileClass$
- $OutputPath$
然后OK点击。
这样就能看到编译的细节了。
是不是很方便???
转载:https://blog.csdn.net/qq_31821733/article/details/117198235