最终确定并升级到第一代

Fra*_*cod -2 c# garbage-collection finalization

我的问题是,我在第 0 代中有对象,并且我还重写了终结方法。

当gc收集gen0时,发现它必须完成,所以不立即释放它们,并将这些对象提升到gen1?因此,只有当 gc 收集到 gen1 时,这些才会被释放。假设这些对象不会被再次使用,它们就是垃圾

谢谢!

Fra*_*cod 5

Finalize 方法在对 GC 确定为垃圾的对象完成垃圾收集时调用。这意味着无法立即回收这些对象的内存,因为 Finalize 方法可能会执行访问字段的代码。因为可终结的对象必须在集合中存活下来,所以它会被提升到另一代,迫使该对象的寿命比应有的时间长得多。里克特 J. -通过 C# 的 CLR

所以是的,它得到了提升:)