走进JVM-对象实例化

2023-11-06  本文已影响0人  奋斗_登

  Java 是面向对象的静态强类型语言,声明并创建对象的代码很常见,根据某个类声明一个引用变量指向被创建的对象,并使用此引用变量操作该对象。在实例化对象的过程中,JVM 中发生了什么化学反应呢?

1.下面从最简单的 Object ref= new Object();代码进行分析,利用javap -verbose -p 命令查看对象创建的字节码如下:
      stack=2, locals=2, args_size=1
         0: new           #2                  // class java/lang/Object
         3: dup
         4: invokespecial #1                  // Method java/lang/Object."<init>":()V
         7: astore_1
         8: return
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0       9     0  args   [Ljava/lang/String;
            8       1     1   ref   Ljava/lang/Object;
2.前面所述是从字节码的角度看待对象的创建过程,现在从执行步骤的角来分析。
上一篇 下一篇

猜你喜欢

热点阅读