我们可以限制从一代到另一代的对象迁移吗?
我们知道,一旦第0代将完整对象移至第1代,依此类推
假设我们想要限制G0到G1的迁移是否有可能?
如果是,那么请举一个合适的例子。
答案 0 :(得分:1)
从你的问题:“我们知道,一旦第0代完整对象转移到第1代,依此类推” - 实际上,事实并非如此。
第1代保存由GC 检查并幸存下来的对象,第2代保留对象两个或更多垃圾收集。
.NET垃圾收集中没有“某些代已满”的标准。因此,基于G1和G2的定义 - 很明显,你不能阻止你的对象从G0迁移到G1 - 好像对象将在垃圾收集中存活,将移动到G1