這個是什麼下面的字節碼的含義我想知道是否有人能告訴我如何理解字節碼
code:
0: aload_0
1: invokespecial #1;//Method Java/lang/Object."<init>":<u>;
4: return
這個是什麼下面的字節碼的含義我想知道是否有人能告訴我如何理解字節碼
code:
0: aload_0
1: invokespecial #1;//Method Java/lang/Object."<init>":<u>;
4: return
0:加載內存插槽0到堆棧(插槽0通常是「本」,除了在靜態方法)
1:調用在常量池#1(註釋告訴它引用的方法是對象的默認構造函數)
4:返回
看起來像高清構造函數
請參閱JVM Specification Guide以瞭解字節碼語法和語義以及JVM如何使用它。
爲什麼你想了解字節碼? – Jens
也許你應該去閱讀https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html – eatSleepCode
看起來像一個空的構造函數的代碼。 'aload_0'將參數0對象加載到堆棧上,然後調用Object的構造函數,最後該方法返回(Nothing /'void')。構造函數是引擎蓋下的「特殊」方法,它們的名稱是堆棧跟蹤中的「」等。 https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings –
zapl