首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >完全GC与G1 GC中的主要GC

完全GC与G1 GC中的主要GC
EN

Stack Overflow用户
提问于 2019-10-12 16:56:43
回答 1查看 264关注 0票数 0

我刚刚开始学习G1 GC。这是我的另一个问题的继续:Full GC in G1 GC

我看到一篇文章说完整的gc和主要的gc (旧的gen集合)是两个不同的东西,完整的gc是单线程的。我对此感到困惑。如果两者是两个不同的东西,那么full GC如何收集垃圾,即在G1 gc中的full gc期间执行哪些算法或阶段或步骤。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-13 16:18:46

对于G1,有一种方法可以区分这两种算法(这并不适用于所有GC算法)。

G1使用堆的区域(通常大小为1Mb )。这些记忆区域被组合在一起,形成年轻一代和年老一代作为单独的逻辑区域。对于旧的gen集合,G1将尝试通过简单地回收不再有任何实时数据的区域(非常便宜)来回收足够的空间,或者将实时数据从稀疏填充的区域复制到空区域(从而最大化该区域中有多少实时数据)。

但是,如果G1不能以这种方式回收足够的空间,它必须退回到完全压缩的集合。

这将解释主要收集和完整GC之间的区别。

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

https://stackoverflow.com/questions/58352483

复制
相关文章

相似问题

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