美文网首页
1.3 对象的内存布局

1.3 对象的内存布局

作者: 9cc222f2bb0a | 来源:发表于2018-03-01 10:59 被阅读0次

对象的内存布局分为三部分,分别是对象头,实例数据以及对齐填充

对象头包含两个部分。

    第一部分为自身的运行数据,即 Mark Word,包含哈希码,GC分代年龄,锁标志状态,线程持有的锁,偏向线程ID,偏向时间戳等。

    第二部分为类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例,并不是所有的虚拟机实现都必须保留类型指针,如果是java数组,对象头中必须有一块是记录数组长度的数据

实例数据为对象真正存储的有效信息,即程序代码中所定义的各个类型的字段内容。

对齐填充不一定有,Hotspot 要求对象的大小必须是8字节的整数倍,对象头大小是8字节的1倍或2倍,如果实例数据不是8字节的整数倍时,由对齐填充部分进行补充。

相关文章

  • 1.3 对象的内存布局

    对象的内存布局分为三部分,分别是对象头,实例数据以及对齐填充 对象头包含两个部分。 第一部分为自身的运行数据,即 ...

  • java 内存布局

    Java 内存的布局主要是统计Java对象占用内存的大小。 Java对象的内存布局:对象头(Header)、实例数...

  • 一文详解 NSObject 对象的内存布局

    一文详解 NSObject 对象的内存布局一文详解 NSObject 对象的内存布局

  • Java对象

    Java对象的内存布局?对象的访问?new对象的过程? 一、Java对象的内存布局 对象的创建过程就是在堆上分配实...

  • JVM(七)内存与垃圾回收|对象的实例化内存布局与访问定位+直接

    本文主要讲对象相关(对象实例化、内存布局、访问定位)和直接内存相关的内容。 目录 1 对象的实例化内存布局与访问定...

  • iOS 内存管理

    一.内存布局以及结构 1.1内存布局 1.2内存管理方案 内存管理方案有3种:TaggedPointer (小对象...

  • 对象的内存布局

    对象的内存布局 在Hotspot虚拟机中,对象在内存中的布局可以分为三块区域: 对象头(Header)、实例数据(...

  • Java对象的内存布局以及访问方式

    对象的内存布局 在HotSpot虚拟机中,对象的内存中的布局可以分为3块区域:对象头,实例数据和对齐填充。 对象头...

  • JAVA运行时—内存分配情况

    对象的内存布局 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、实例数据...

  • 对象的内存布局(JOL)和锁

    对象的内存布局 在 HotSpot 虚拟机中,对象在内存中的布局主要分为三部分:对象头(Header)、实例数据(...

网友评论

      本文标题:1.3 对象的内存布局

      本文链接:https://www.haomeiwen.com/subject/suwixftx.html