垃圾收集.Net

Dam*_*mon 0 .net c# garbage-collection

我想我对垃圾收集器在.Net的工作方式有了基本的了解,但最近我被问到了一个我不太懂的问题.从我记忆中,问题的问题是 -

考虑到垃圾收集中涉及的不同世代,您希望您的物体进入哪一代?

我猜了一下并说第0代,因为这意味着一个短暂的物体并释放记忆.另一方面,当我通过一些MSDN文档时,它表明第2代对象更稳定(即长寿),我知道GC不那么频繁地收集它.

对此的正确答案是什么,还是另一个"取决于"答案?

小智 5

当然,正确的答案是" 正确的一代".如果一个对象是短暂的,我希望它在为短期对象优化的代中.如果我的对象是长寿的,我希望它在为长寿命对象优化的代中.

如果所有对象都有一个"最佳"代,我们会将其设为默认值并取消其他对象.GC的创建者会很高兴听到,生成性是他们算法中复杂性的来源;-)