如题,.NET托管堆中的最小对象为什么是12个字节而不是8个字节。
对象头(4Byte) + 方法表(4Byte)= 8Byte.
??12Byte, 注:该对象没有任何的成员。
例如: class A{}
可以看看这里:http://www.microsoft.com/china/MSDN/library/netFramework/netframework/JITCompiler.mspx?mfr=true
非常感谢您提供的链接,正解!
类型指针+同步索引块+实例数据,最小对象应该是8byte。12byte这个结论从哪儿看来的?
通过WinDbg观察到得,如图。
@TonyWang: 这里面有个很神奇的东西,你把你的空class,改成只包含一个int字段的class,它还是只占12byte.