4

在一次采访中,有人问我是否可以将某些对象自动分配给第二代垃圾收集器,我不知道该怎么回答。

这可能吗?

也许如果对象足够大以保存在零代或第一代中?

4

1 回答 1

7

新分配的对象形成了新一代的对象,并且隐含地是第 0 代集合,除非它们是大对象,在这种情况下,它们会在第 2 代集合中的大对象堆上继续。

(链接:垃圾收集的基础知识

所以是的,大对象自动进入第 2 代。

什么时候物体被认为是的?

在 Microsoft® .NE​​T Framework 1.1 和 2.0 中,如果对象大于或等于 85,000 字节,则将其视为大对象。这个数字是性能调整的结果。当一个对象分配请求进来并满足该大小阈值时,它将被分配到大对象堆上。这到底是什么意思?要理解这一点,解释一些有关 .NET 垃圾收集器的基础知识可能会有所帮助。

(链接:CLR 由内而外:发现大对象堆

于 2012-05-08T15:08:11.540 回答