对于垃圾第一收集器,年轻的gc意味着仅在年轻一代中执行gc并且 混合gc 将清洁年轻一代和老一代.
什么是完整的gc?为什么它比混合gc持续更长时间?
我做了一些搜索,但我找不到任何解释完整gc的帖子.
来自Oracle G1 GC博客和technetwork文章
年轻的GC:
Young GC的收集集仅包括年轻/幸存者区域.
混合GC:
混合GC的集合包括年轻/幸存者区域,但也包括旧区域.
令人敬畏的物品和丰富的分配
对于G1 GC,任何超过区域大小一半的对象都被视为" Humongous对象 ".这样的对象直接在老一代中分配到" Humongous region s"中.这些地区是一个连续的地区.
在完全垃圾收集循环期间,在清理阶段期间,在标记循环结束时释放死Humongous对象.
为了减少复制开销,Humongous对象不包括在任何疏散暂停中.完整的垃圾收集循环将Humongous对象压缩到位.
通常一个完整的GC清理整个堆 - 年轻和终身空间(旧的)
另外,无论GC类型如何,您都必须担心"应用程序线程停止"的时间:Young GC或Full GC等.