我想澄清CLR管理堆的一个问题。有两个对象管理堆-大对象堆和小对象堆。我知道大小大于85千字节的对象将被放入LOH。SOH有3代(0、1、2)。LOH是SOH(第二代对象)的一部分,还是一个单独的堆,其对象总是第2代?LOH应该和SOH的第二代对象一起被清除?
发布于 2013-09-09 08:48:22
小对象堆具有不时被检查的代。在收集结束时,这个堆是支离破碎的,因此需要压缩。如果这个heep中有大型对象,那么碎片整理需要很长时间。因此,他们决定拥有另一个堆大对象堆,它将免于这种昂贵的碎片整理操作。
真的有很好的书:ftp://support.red-gate.com/ebooks/under-the-hood-of-net-memory-management-part1.pdf
第55页LOH
https://stackoverflow.com/questions/18694453
复制相似问题