【Java】源码(小朋友,你是否有很多问号)理解神器之javap

在学习Java的过程中,少不了查看JDK文档,了解相关源码。

但是有的源码看起来就不是很好理解

比如,一个和注解相关的源码

小朋友,你是否有很多问号?

为什么我就是看不懂这个源码

这换谁谁第一次也看不懂这代码。

所以这时候一个强大的工具javap就登场了。

javap:javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。

一句话:通过反编译生成的汇编代码,我们可以深入的了解java代码的工作机制。

好了,那我们就通过反编译来研究一下这个代码到底是什么原理吧。

public @interface A{
}

通过反编译,我们得到了如下结果

 

这样我们就能很好理解了,这就是定义了一个继承自java.lang.annotation.Annotation的接口A。

我认为javap是一个很好的用来了解java代码的工作机制的工具。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章