在学习Java的过程中,少不了查看JDK文档,了解相关源码。
但是有的源码看起来就不是很好理解
比如,一个和注解相关的源码
小朋友,你是否有很多问号?
为什么我就是看不懂这个源码
这换谁谁第一次也看不懂这代码。
所以这时候一个强大的工具javap就登场了。
javap:javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。
一句话:通过反编译生成的汇编代码,我们可以深入的了解java代码的工作机制。
好了,那我们就通过反编译来研究一下这个代码到底是什么原理吧。
public @interface A{
}
通过反编译,我们得到了如下结果
这样我们就能很好理解了,这就是定义了一个继承自java.lang.annotation.Annotation的接口A。
我认为javap是一个很好的用来了解java代码的工作机制的工具。