Fra*_*cod -2 c# garbage-collection finalization
我的问题是,我在第 0 代中有对象,并且我还重写了终结方法。
当gc收集gen0时,发现它必须完成,所以不立即释放它们,并将这些对象提升到gen1?因此,只有当 gc 收集到 gen1 时,这些才会被释放。假设这些对象不会被再次使用,它们就是垃圾
谢谢!
Finalize 方法在对 GC 确定为垃圾的对象完成垃圾收集时调用。这意味着无法立即回收这些对象的内存,因为 Finalize 方法可能会执行访问字段的代码。因为可终结的对象必须在集合中存活下来,所以它会被提升到另一代,迫使该对象的寿命比应有的时间长得多。里克特 J. -通过 C# 的 CLR
所以是的,它得到了提升:)
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |