有了 CMS,为什么还要引入 G1? 作者: 网管 时间: 2023-06-07 分类: stackoverflow经典问题 有了 CMS,为什么还要引入 G1?缺点:CMS同样存在三个明显的缺点:Mark Sweep算法导致内存碎片较多。CMS的并发能力高度依赖CPU资源,而并发回收时垃圾收集线程可能会竞争用户线程的资源,导致用户程序性能下降。并发清除阶段中,用户线程仍在运行,这会产生所谓的"浮动垃圾"(Floating Garbage)。本次垃圾收集无法处理浮动垃圾,而必须等到下一次垃圾收集才能处理。如果浮动垃圾过多,将触发新的垃圾回收,导致性能下降。G1收集器主要解决了内存碎片过多的问题。 标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题