JVM(2)--探秘HotSpot虚拟机对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Maybeno1314/article/details/88642823

   java对象创建流程

    在步骤四中,内存分配,其中堆内存分配分为两种:空闲列表,指针碰撞。

    关于具体使用哪种分配方式取决于

           (1).java堆是否规整,而java堆是否规整又由所采用的垃圾收集器是否带有压缩整理功能决定。

           (2).指针碰撞在并发情况下是非线程安全的。(两种解决方案)、

    内存分配完成以后虚拟机需要将分配的内存空间都初始化为零值。

     上述步骤执行完之后,虚拟机还要对对象进行必要的设置,如这个对象是哪个类的实例,如何才能找到类的元数据信息,对象的哈希码,对象的GC分代年龄等信息。这些信息存放在对象头中。

      对于虚拟机来说对象已经创建好了,但是对于程序员来说才刚刚开始。

      下章------------------------对象内存布局

猜你喜欢

转载自blog.csdn.net/Maybeno1314/article/details/88642823