.NET:用于什么是对象头?

Jon*_*len 11 .net

在.NET中,每个对象有8个字节的开销.4个字节是指向对象类型的指针.其他4个字节,称为对象标头,用于什么?

注意:问题在2010年被提出并且是32位特定的.开销是依赖于位的:"对象类型"(方法表)的1个指针大小和对象标题的1个指针大小.因此,32位为2*4字节,64位应用为2*8字节.

Dam*_*ver 6

文章讨论了很多内部的,包括什么进入每个对象实例.基本上,它是类型信息和同步块指针(因为任何对象都可能被锁定)

  • Syncblock索引,而不是指针.它还可以存储哈希码,具体取决于用法.加上几个与GC相关的位. (2认同)