当前位置:  开发笔记 > 编程语言 > 正文

G1:混合gc和完整gc有什么区别?

如何解决《G1:混合gc和完整gc有什么区别?》经验,为你挑选了1个好方法。

对于垃圾第一收集器,年轻的gc意味着仅在年轻一代中执行gc并且 混合gc 将清洁年轻一代和老一代.

什么是完整的gc?为什么它比混合gc持续更长时间?

我做了一些搜索,但我找不到任何解释完整gc的帖子.



1> Ravindra bab..:

来自Oracle G1 GC博客和technetwork文章

年轻的GC:

Young GC的收集集仅包括年轻/幸存者区域.

混合GC:

混合GC的集合包括年轻/幸存者区域,但也包括旧区域.

令人敬畏的物品和丰富的分配

对于G1 GC,任何超过区域大小一半的对象都被视为" Humongous对象 ".这样的对象直接在老一代中分配到" Humongous region s"中.这些地区是一个连续的地区.

在完全垃圾收集循环期间,在清理阶段期间,在标记循环结束时释放死Humongous对象.

为了减少复制开销,Humongous对象不包括在任何疏散暂停中.完整的垃圾收集循环将Humongous对象压缩到位.

通常一个完整的GC清理整个堆 - 年轻和终身空间(旧的)

另外,无论GC类型如何,您都必须担心"应用程序线程停止"的时间:Young GC或Full GC等.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有