码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA对象头

时间:2017-09-04 22:38:41      阅读:498      评论:0      收藏:0      [点我收藏+]

标签:add   java   它的   64位   虚拟机   word   byte   bit   部分   

#为了防止自己忘记,先记着,之前我一直以为《深入理解JAVA虚拟机》写错了来着。

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

也就是说  JAVA对象 = 对象头 + 实例数据 + 对象填充

 

对象头由两部分组成,一部分用于存储自身的运行时数据,称之为 Mark Word,另外一部分是类型指针,及对象指向它的类元数据的指针。

对象头 = Mark Word + 类型指针

(未开启指针压缩的情况下)

在32位系统中,Mark Word = 4 bytes = 32 bits,对象头 = 8 bytes = 64 bits;

在64位系统中,Mark Word = 8 bytes = 64 bits ,对象头 = 16 bytes = 128bits;

JAVA对象头

标签:add   java   它的   64位   虚拟机   word   byte   bit   部分   

原文地址:http://www.cnblogs.com/mezhouyang/p/7475939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!