大家好,如果您还对都是怎么C自己对象过程不太了解,没有关系,今天就由本站为大家分享都是怎么C自己对象过程的知识,包括怎么搞到对象的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
请描述对象创建的过程,如下图所示。在创建对象时,JVM会首先检查目标对象是否已被加载和初始化。如果没有,JVM会立即加载该类并调用其构造函数进行初始化。类的加载由类加载器完成,它将类加载到内存中。
然后,JVM会初始化目标类中的静态变量、成员变量和静态代码块。当目标类被初始化后,JVM可以从常量池中找到对应的类信息,并确定目标对象的大小。
因此,JVM需要为新创建的对象在堆内存中分配内存空间。内存分配方式通常有两种:指针碰撞和空闲列表。JVM会根据Iava堆内存的规划决定内存分配方式。
接着,JVM会将目标对象中的普通成员变量初始化为零值。例如,对于AH类型,初始值为0,而对于对象类型,初始值为m。(类变量在类加载的准备阶段就已经被初始化过了)。这一步操作主要是为了确保对象中的实例字段可以直接使用,因为它们的数据类型已经在类加载时被初始化了。
接下来,JVM需要为目标对象的对象头设置一些信息,例如类元信息、GC分代年龄、H标志、L标志、锁标志等。完成这些步骤后,JVM认为新对象的创建工作已经完成,但对于Iava语言来说,对象的创建才刚刚开始。
接下来,JVM将执行目标对象内部生成的it方法,并初始化成员变量的值、执行构造函数和最后执行目标对象的构造函数,以完成对象的创建。
其中,iit方法是Tava文件编译后在字节码文件中生成的,是一个实例构造器。它将语句中的内容组织在一起,包括语句块、变量初始化、调用父类构造函数等操作,因此调用N方法可以完成一系列的初始化操作。
好了,文章到这里就结束啦,如果本次分享的都是怎么C自己对象过程和怎么搞到对象问题对您有所帮助,还望关注下本站哦!