2016-07-07 60 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

请参考这个字节码指南,它将满足我相信的大部分需求。 –