在之前的学习里,对象头想必大家都有听说过。我们知道可以使用对象头进行信息的存储,在具体的存储类型上很多人可能没有尝试过。一共分成两种:存储对象自身运行的数据和类型指针。后者大家接触的比较少,我们会在接下来的文章内容中分别进行概念的介绍,具体内容如下。
1、对象头主要用来存储两块信息
存储对象自身运行的数据
类型指针
2、对象自身运行时的数据主要包括:哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等。这部分数据的长度在32位和64位的虚拟机(未开启压缩指针)中分别为32位和64位。
类型指针可以用来确定这个对象是哪个类的实例,但虚拟机的实现不是必须在对象上保留类型指针。
以上就是java对象头的两种存储类型,没有接触过的小伙伴,可以就这两种不同的存储,在课后分别做一些实例的试验。更多Java学习指路:java教程