【Java】源碼(小朋友,你是否有很多問號)理解神器之javap

在學習Java的過程中,少不了查看JDK文檔,瞭解相關源碼。

但是有的源碼看起來就不是很好理解

比如,一個和註解相關的源碼

小朋友,你是否有很多問號?

爲什麼我就是看不懂這個源碼

這換誰誰第一次也看不懂這代碼。

所以這時候一個強大的工具javap就登場了。

javap:javap是jdk自帶的反解析工具。它的作用就是根據class字節碼文件,反解析出當前類對應的code區(彙編指令)、本地變量表、異常表和代碼行偏移量映射表、常量池等等信息。

一句話:通過反編譯生成的彙編代碼,我們可以深入的瞭解java代碼的工作機制。

好了,那我們就通過反編譯來研究一下這個代碼到底是什麼原理吧。

public @interface A{
}

通過反編譯,我們得到了如下結果

 

這樣我們就能很好理解了,這就是定義了一個繼承自java.lang.annotation.Annotation的接口A。

我認爲javap是一個很好的用來了解java代碼的工作機制的工具。

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