.NET对象大小

Ton*_*ony 5 .net c# memory memory-management

.net中堆分配对象的大小是多少,包括管理开销?我假设对象是沿着4字节边界分配的,还是使用了不同的方法?

Jon*_*eet 5

x86上的4字节边界.可能是x64上的8字节边界.

对于类型引用和同步块,x86上有8字节的开销.在x64上发现12或16字节时我不会感到惊讶.

出于某种原因,在x86上,一个实例System.Object似乎占用了12个字节,使得12个字节成为绝对最小尺寸 - 但是一个类int 需要12个字节.我不知道为什么会这样.