javap命令常用来对java类文件来进行反编译,主要用来对java进行分析的工具,在学习Thinking in Java时,由于需要对类文件反编译,以查看jvm到底对我们写的代码做了哪些优化和处理,比如我看的使用+=对字符串进行拼接时,jvm的处理方式。废话不多说,下面直接带上配置的教程:
点击菜单栏 Run ---> External tools ---> External tools Configurations... 然后如下图点击New:
输入:
Name: javap
Locations: 选择jdk的javap.exe文件所在的位置
Working Directory: ${workspace_loc}/${project_name}
Arguments: -classpath bin -c ${java_type_name}
说明:${workspace_loc}表示工作空间所在的路径;
${project_name}表示项目的名称;
${java_type_name}表示所选java文件的类名(全名);
上面的这些变量可以通过每一栏右下方的Variables按钮去选择。(关于其他的一些变量读者可以自行去了解)
Arguments的内容: -classpath表示javap命名搜索的类路径(bin表示是相对于项目的相对路径)
一般修改的参数:
-c表示这里将生成JVM字节码
-v 查看详细信息,JVM字节码和常量池信息(比-c信息更详细)
-public 只显示 public 类及成员。
-protected 只显示 protected 和 public 类及成员。
-package 只显示包、protected 和 public 类及成员。这是缺省设置。
-private 显示所有类和成员。(-v中不能显示私有属性)