In .NET there are 8 bytes of overhead for each object. 4 bytes are a pointer to the object's type. What are the other 4 bytes, known as the object header, used for?
+5
A:
This article discusses a lot of internals, including what goes into each object instance. Basically, it's the type information and a syncblock pointer (because ever object can potentially be locked upon)
Damien_The_Unbeliever
2010-03-24 08:01:18
Syncblock index, not pointer. It can also store the hash code, depending on usage. Plus several GC related bits.
Hans Passant
2010-03-24 12:57:36