几代垃圾收集器是什么意思?

时间:2012-09-12 17:09:07

标签: c# .net

C#中垃圾收集器的代数是什么意思?它与概念不同,还是GENERATION只是用于表示时间段的术语?

1 个答案:

答案 0 :(得分:17)

GC生成与对象存活的垃圾收集量有关。

所有对象从第0代开始。当发生垃圾收集,并且无法收集第N代对象时,它将移至第N + 1代。

这些代用于优化垃圾收集的性能。一般来说,第0代:

  1. 是整个堆的一小部分
  2. 有很多短命的物品。
  3. 因此,当发生垃圾收集时,垃圾收集器通过收集第0代开始,这将很快。如果可以释放足够的内存,则无需查看老一代,因此可以快速进行收集。

    可以写关于这个主题的书籍;但首先,this articlereference here中有一些很棒的细节。