Advertisement

对象和类的生命历程

阅读量:

目录

  • Java中对象实例的生成机制
    • Java中类与对象的存在周期

java new对象的创建过程

在这里插入图片描述

对象的创建过程通常以new指令作为起点,JVM首先会对符号引用进行解析。若无法找到对应的符号引用,则表明该类尚未被加载,此时JVM将启动类加载流程。完成符号引用解析后,JVM会在堆内存中为对象分配存储空间。HotSpot虚拟机实现的Java对象包含三个组成部分:对象头、实例字段以及对齐填充字段,其中实例字段涵盖自身定义的内容和从父类继承的部分。

在堆内存分配完成后,JVM会将除对象头以外的内存区域初始化为零值。随后,JVM会调用对象的构造函数,并且该调用过程将沿着继承链一直追溯至Object类。

当JVM执行字节码中的new指令时,首先会检查该指令参数是否能够在常量池中定位到一个类的符号引用,并验证该引用所代表的类是否已经经历了加载、解析与初始化过程。如果尚未完成,则需要先触发类加载流程。

一旦通过了类加载检查,虚拟机会为新生成的对象分配内存空间。在完成类加载之后,所需内存大小即可完全确定,因此分配空间的任务实际上等同于从Java

全部评论 (0)

还没有任何评论哟~