码上敲享录 > java面试题及答案大全 > 在 Java 中 new 一个对象的流程是怎样的?彻底被问懵了。。

在 Java 中 new 一个对象的流程是怎样的?彻底被问懵了。。

上一章章节目录下一章 2023-07-12已有243人阅读 评论(0)

在Java中使用`new`关键字创建一个对象时,会经过以下几个步骤:


1. 类的加载:首先,JVM会检查这个类是否已经被加载到内存中。如果没有加载过,则会进行类加载操作,将类的字节码加载到内存中的方法区。


2. 类的链接:在类加载的过程中,会进行类的链接操作。链接包括三个阶段:验证、准备和解析。验证阶段会检查类的正确性,准备阶段会为静态字段分配内存并设置默认值,解析阶段会将符号引用转换为直接引用。


3. 对象的内存分配:在执行完链接阶段后,JVM会在堆内存中分配对象的内存空间。根据对象的大小和分代年龄等情况,JVM会选择适当的垃圾回收算法和内存分配策略。


4. 成员变量的初始化:在对象内存分配完成后,JVM会对对象的成员变量进行初始化。如果有默认值,则会先初始化为默认值,然后按照代码中的赋值语句进行初始化。


5. 构造方法的调用:在成员变量初始化后,JVM会调用对象的构造方法来完成对象的初始化。构造方法会执行一些特定的逻辑和业务。


6. 返回对象的引用:经过上述步骤后,JVM会返回一个指向新创建对象的引用。可以将这个引用赋值给变量,以便后续对对象进行使用。


值得注意的是,这里的步骤是一个简化的描述,并不涵盖JVM的所有细节。不同的JVM实现或具体的场景可能会有所差异,但总体的流程是相似的。


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交