从Java中看只有 hashCode
和class
?(分别对应getClass()
,hashCode()
)
最近在看同步相关的内容,里面有说到每个对象都有对象头,对象头中有Mark Word
等信息,记录了 锁状态,GC标记对象分代年龄,如果是数组还有记录数组长度。
所以我想问下,对于JVM来说,一个Object对象有哪些信息呢?
从Java中看只有 hashCode
和class
?(分别对应getClass()
,hashCode()
)
最近在看同步相关的内容,里面有说到每个对象都有对象头,对象头中有Mark Word
等信息,记录了 锁状态,GC标记对象分代年龄,如果是数组还有记录数组长度。
所以我想问下,对于JVM来说,一个Object对象有哪些信息呢?
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答745 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
Java不会规定对象应该包含哪些元数据,这个是各个JVM实现时自己决定的。
我们只要了解平时能够“感知”到的就行了,比如
monitor
,其他的真的没必要去钻。当然如果你立志要写一个JVM实现那就另当别论了。