JVM method translate to bytecode

来自WHY42
Riguz讨论 | 贡献2021年4月20日 (二) 08:48的版本 →‎statements

特殊方法

xxx

默认构造函数

aload_0
invokespecial #1                  // Method java/lang/Object."<init>":()V
return

其中,

  • 构造函数会通过invokevirtual被调用,这里aload_0可以取到this
  • 构造函数中会去调用父类的构造函数

statements

创建对象

HelloWorld s = new HelloWorld();
new           #5                  // class HelloWorld
dup
invokespecial #6                  // Method "<init>":()V

变量赋值

HelloWorld s = new HelloWorld();
new           #5                  // class HelloWorld
dup
invokespecial #6                  // Method "<init>":()V
astore_1