首页 > 图灵资讯 > java面试题>正文

JVM高频面试题-有了CMS,为什么还要引入G1?

2023-11-11 09:20:32

 

有了CMS,为什么还要引入G1?

优点:CMS最主要的优点在名字上已经体现出来——并发收集、低停顿。

缺点:CMS同样有三个明显的缺点。

  • Mark Sweep算法会导致内存碎片比较多
  • CMS的并发能力比较依赖于CPU资源,并发回收时垃圾收集线程可能会抢占用户线程的资源,导致用户程序性能下降。
  • 并发清除阶段,用户线程依然在运行,会产生所谓的理“浮动垃圾”(Floating Garbage),本次垃圾收集无法处理浮动垃圾,必须到下一次垃圾收集才能处理。如果浮动垃圾太多,会触发新的垃圾回收,导致性能降低。

G1主要解决了内存碎片过多的问题。


 
上一篇 JVM高频面试题-G1垃圾收集器
下一篇 JVM高频面试题-你们线上用的什么垃圾收集器?为什么要用它?

文章素材均来源于网络,如有侵权,请联系管理员删除。