2016-07-07 75 views
-6

這個是什麼下面的字節碼的含義我想知道是否有人能告訴我如何理解字節碼

code: 
0: aload_0 
1: invokespecial #1;//Method Java/lang/Object."<init>":<u>; 
4: return 
+0

爲什麼你想了解字節碼? – Jens

+1

也許你應該去閱讀https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html – eatSleepCode

+0

看起來像一個空的構造函數的代碼。 'aload_0'將參數0對象加載到堆棧上,然後調用Object的構造函數,最後該方法返回(Nothing /'void')。構造函數是引擎蓋下的「特殊」方法,它們的名稱是堆棧跟蹤中的「」等。 https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings – zapl

回答

0

0:加載內存插槽0到堆棧(插槽0通常是「本」,除了在靜態方法)

1:調用在常量池#1(註釋告訴它引用的方法是對象的默認構造函數)

4:返回

看起來像高清構造函數

0

請參閱JVM Specification Guide以瞭解字節碼語法和語義以及JVM如何使用它。

+0

謝謝,我會通過它。 – Shilpa

+0

與此同時,你可以請我建議一些關於字節碼的書籍。我想詳細瞭解字節碼。它是如何生成的以及所有相關的東西 – Shilpa

+0

請參考這個字節碼指南,它將滿足我相信的大部分需求。 –

相關問題