我的问题是,我在第0代中有对象,并且我也覆盖了最终化方法。
当gc收集gen0时,看到它必须最终确定,所以不立即释放它们,并将这些对象提升为gen1?因此,如果gc收集gen1,这些只会被重新发布。 假设这些对象不会再次使用,它们就是垃圾
谢谢!
答案 0 :(得分:2)
在GC对象的垃圾收集完成时调用Finalize方法 已经决定成为垃圾。这意味着无法回收这些对象的内存 因为Finalize方法可能会执行访问字段的代码。因为一个终结 - 有能力的对象必须在集合中存活,它会被提升到另一代,强制对象 活得比它应该长得多。里希特j。 -CLR通过C#
所以是的,它得到了提升:)