cms和g1垃圾收集器有何区别,使得g1更好?
大多数地方都说这是因为在G1中,堆被划分为区域, 然后将区域的集合标记为年轻/老一代, 垃圾回收运行在少量区域上而不是整个堆上。我正在尝试进一步理解这一点,并有一些问题:
当运行young gc(即全停止),它运行于所有年轻代区域,这意味着堆的整个年轻部分,而不是年轻代的几个区域。 那么,就时间而言,它是否与CMS相同?
增量压实-混合集合-现在这就是我认为G1具有优势的地方,因为整个堆的并发标记仍在进行, 并且有混合的GC周期,其中运行了所有年轻区域+少量旧区域(先处理最多垃圾的区域)。 因此,它继续从旧代中删除垃圾,而不是等待进行Full gc。这是正确的吗?
以上说法正确吗?还有哪些差异使g1更好?