首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在完整的垃圾收集中,您是否应该首先收集年轻一代?

在完整的垃圾收集中,您是否应该首先收集年轻一代?
EN

Stack Overflow用户
提问于 2008-10-20 19:15:00
回答 1查看 485关注 0票数 6

我正在编写一个包含分代垃圾收集器的程序。只有两代人。我想知道的是:当做一个完整的收集时,我是不是可以通过首先收集年轻的对象,将幸存者提升到老一代,然后收集老一代,或者我应该在一次扫描中对所有东西进行垃圾收集来获得什么(性能方面的)?我不确定人们通常用哪种方式来做。

我现在使用两步法,因为它更容易实现,但也许一步法会更有效率?

垃圾收集器是非复制的,如果这很重要的话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2008-10-20 19:19:59

这取决于你提拔幸存者的频率。如果你经常推广它们,那么看起来你一下子做GC会做得更好。如果你不这样做,那么它们看起来会很相似。

无论哪种方式,看起来你似乎通过分两个阶段来做一些多余的工作。例如,任何被提拔的人都会被固有地检查两次(一次是年轻的,另一次是老的)。同样,如果这种情况不经常发生,我会坚持使用更简单的两步法(因为您已经让它工作了,而且没有什么好处)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/219540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档