Eclipse集成javap查看字节码
分析java语言特性的一个好帮手是使用javap工具查看java编译后的字节码,楼主今天在学习java泛型中的桥方法时遇到一些不解,想到javap这个好工具可以帮助解答一些疑惑,索性就捣鼓如何在eclipse中配置javap工具快速查看java字节码。
楼主学习的代码工程用的maven结构。默认java编译后的class文件是放在: 工程目录/target/classes 下的,故在配置javap的时候需要配置的变量有所不同,不能直接参考网上的教程方式:
首先进入run -> External Tool -> External Tools Configurations 然后在Program 节点选定后右键点击“New” 创建一个新的扩展工具配置。
然后按照如下图所示配置即可:
name:javap -c
location:指定javap的绝对路径,如:C:\Java\jdk1.8.0_31\bin\javap.exe
working directory:返回工程所在的绝对路径,如:${project_loc}
Arguments: 注意这里的参数配置,-classpath 指定的是java代码编译后class文件存放的目录,这里我们配置的是相对于工程根目录而言,class文件的相对目录路径,-c参数后面的值是指定要查看哪个文件的字节码,${java_type_name} 变量返回你选取的类文件名。使用javap工具之前一定得获取class文件,因此先让你的代码能正常run一遍吧。如:-classpath target/classes -c ${java_type_name} (target/classes是class的路径)
如果你的工程不是maven的目录结构,那么只用按照本文配置修改classpath参数的值指定你的class文件存放的相对路径即可。使用javap工具的时候切记需要激活你当前java的代码编辑窗口才能使用。
执行方法:
打开一个java文件,用鼠标点击上面的“run”-->"Exteral tools"-->javap -c,在控制台中会输出结果。
示例: