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

Posted onlinemf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM高级特性-JVM在堆中对象的分配布局访问过程相关的知识,希望对你有一定的参考价值。

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

   一、对象的创建

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

    指针碰撞:  

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

    空闲列表:

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

以上是关于JVM高级特性-JVM在堆中对象的分配布局访问过程的主要内容,如果未能解决你的问题,请参考以下文章

性能优化之 JVM 高级特性

10个经典又容易被人疏忽的JVM面试题

jvm_Java对象在堆中的内存结构

jvm堆:实例内存组成

JVM运行时数据区篇(堆空间进阶掌握)

Jvm内存区域与对象结构概览