码迷,mamicode.com
首页 > 其他好文 > 详细

虚拟机学习三-对象的内存布局

时间:2015-02-01 19:05:43      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

对象在内存中的布局可以分为3块区域:

对象头(Header):一部分是用来存储对象自身运行时的数据(如哈希码,GC分代年龄)。这部分被设置为非固定的数据结构,即根据对象的状态对象头不同字段所占的大小不一样,但总大小都是32bit或64bit。另一部分是类型指针,即对象指向它的类元数据的指针,确定对象是哪一个类的实例。(如果对象是一个Java数组,那在对象头中中还必须有一块用于记录数组长度的数据)

实例数据(Instance Data):真正存储的有效信息,也是在程序中所定义的各种类型的字段的内容。

对齐填充(Padding):不是必然存在,当实例数据部分不足8字节的倍数时将通过对其填充来补齐。

虚拟机学习三-对象的内存布局

标签:

原文地址:http://www.cnblogs.com/SunseCode/p/4265885.html

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