[翻译] 编写高性能 .NET 代码--第二章 GC -- 减少大对象堆的碎片,在某些情况下强制执行完整GC,按需压缩大对象堆,在GC前收到消息通知,使用弱引用缓存对象
减少大对象堆的碎片如果不能完全避免大对象堆的分配,则要尽量避免碎片化。对于LOH不小心就会有无限增长,但LOH使用的空闲列表机制可以减轻增长的影响。利用这个空闲列表,我们可以在两块分配区域中间找到你所想要的可分配区域。要做到这一点,就需要保证你在LOH里的分配都按照同一个尺寸或者同一个尺寸的倍数进行。例如,一个常见的需求是在LOH里分配缓冲区。要确保分配的每个缓冲区都是一个大小,或者是一个知名数字