首页 > 代码库 > JVM高级特性-二、JVM在堆中对象的分配、布局、访问过程

JVM高级特性-二、JVM在堆中对象的分配、布局、访问过程

  前面介绍了jvm运行时数据区域后,下面讲解下对内存中数据的其他细节,看他们是如何创建、布局及访问的

   一、对象的创建

    对象的创建分配方式主要有两种:指针碰撞和空闲列表

    指针碰撞:  

      假设堆内存中是绝对规整的,那么,在为新对象分配内存空间时,只需要将指针向空闲空间方向移动新对象所需大小的一段出来即可

    空闲列表:

      如果内存不是规整的,这时就需要维护一个列表,记录哪些内存是空闲的,在分配空间时,从列表中找出一块足够大的空间划分为对象实例并更新列表记录

JVM高级特性-二、JVM在堆中对象的分配、布局、访问过程