tags:

views:

87

answers:

1

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
Syncblock index, not pointer. It can also store the hash code, depending on usage. Plus several GC related bits.
Hans Passant