最近在研究 jvm,需要查看字节码. 整理使用intellij idea 查看Java字节码 使用方式如下:
内容参考:
Program: /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/@H_301_22@javap Arguments: -c -@H_301_22@l $FileClass$ Working directory: $OutputPath$
参数可选指令:
-help --help -?@H_301_22@ 输出此用法消息 -@H_301_22@version 版本信息,其实是当前javap所在jdk的版本信息,不是class在哪个jdk下生成的。 -v -@H_301_22@verbose 输出附加信息(包括行号、本地变量表,反汇编等详细信息) -@H_301_22@l 输出行号和本地变量表 -public@H_301_22@ 仅显示公共类和成员 -@H_301_22@protected 显示受保护的/@H_301_22@公共类和成员 -package 显示程序包/受保护的/@H_301_22@公共类 和成员 (默认) -p -@H_301_22@private@H_301_22@ 显示所有类和成员 -@H_301_22@c 对代码进行反汇编 -@H_301_22@s 输出内部类型签名 -@H_301_22@sysinfo 显示正在处理的类的系统信息 (路径,大小,日期,MD5 散列) -@H_301_22@constants 显示静态最终常量 -classpath <path>@H_301_22@ 指定查找用户类文件的位置 -bootclasspath <path> 覆盖引导类文件的位置