我在第228页的.NET Performance Testing and Optimization - The Complete Guide一书中找到了一个有趣的陈述:
值得注意的是,无根Gen 2对象引用的任何Gen 1对象都不是 收集在Gen 1集合中,但仅在Gen 2集合中收集其父节点。
是对的,如果是的话,出于什么原因?
答案 0 :(得分:3)
我认为这是因为Gen 1对象是由Gen 2对象生根/引用的,所以Gen 1对象在不再被引用之前无法收集,这将是Gen 2对象引用时它被收集了。