目录

CMS收集器和G1收集器的区别

区别一: 使用范围不一样

区别二: STW的时间

区别三: 垃圾碎片

区别四: 垃圾回收的过程不一样


对于CMS收集器和G1收集器的不同,目前简单写了一下4点,有不足的地方后面再不断的更新修改。

CMS收集器和G1收集器的区别

区别一: 使用范围不一样

CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用

G1收集器收集范围是老年代和新生代。不需要结合其他收集器使用

区别二: STW的时间

CMS收集器以最小的停顿时间为目标的收集器。

G1收集器可预测垃圾回收的停顿时间(建立可预测的停顿时间模型)

区别三: 垃圾碎片

CMS收集器是使用“标记-清除”算法进行的垃圾回收,容易产生内存碎片

G1收集器使用的是“标记-整理”算法,进行了空间整合,降低了内存空间碎片。

区别四: 垃圾回收的过程不一样

CMS收集器                     G1收集器

1. 初始标记                   1.初始标记

2. 并发标记                   2. 并发标记

3. 重新标记                   3. 最终标记

4. 并发清楚                   4. 筛选回收

CMS收集器和G1收集器的区别相关推荐

  1. 27.垃圾收集器(Serial收集器、ParNew收集器、Parallel收集器、Parallel Old 收集器、CMS收集器、G1收集器、常用的收集器组合)

    27.垃圾收集器 27.1.Serial收集器 27.2.ParNew收集器 27.3.Parallel收集器 27.4.Parallel Old 收集器 27.5.CMS收集器 27.6.G1收集器 ...

  2. CMS收集器和G1收集器,优缺点对比

    点击上方关注"Java后端技术栈" 很多面试题都会涉及CMS收集器和G1收集器,这里面有一个非常重要的知识点:G1只有并发标记才不会stop-the-world,其他都会停下来. ...

  3. 一网打尽!CMS收集器和G1收集器的区别

    CMS 收集器 CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器.它非常符合在注重用户体验的应用上使用. CMS(Concurrent Mark S ...

  4. CMS收集器与G1收集器

    说明:本文摘自<深入理解Java虚拟机>,是自己看书总结文章.以下正文开始 收集器中的***并行(Parallel)***语义:指多条垃圾收集线程并行工作,但此时用户线程仍处于等待状态 收 ...

  5. CMS垃圾收集器和G1垃圾收集器

    CMS CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的老年代收集器.CMS收集器与之前的垃圾收集器最大的特点就是它可以并发清除垃圾. 他的工作流程如下: ...

  6. 直通BAT必考题系列:深入剖析JVM之G1收集器、及回收流程、与推荐用例

    金三银四马上到了,即将进入面试的高峰期.在BAT面试中,JVM基本都是必考的系列.你至少需要掌握JVM内存模型与JVM参数详细配置,JVM的4种垃圾回收算法.垃圾回收机制与总结,以及今天重点谈到的JV ...

  7. G1收集器和CSM收集器对比

    (http://blog.csdn.net/zhanggang807/article/details/45956325) 回顾分代垃圾回收和CMS 并发标记清除(CMS)收集器(也叫并发低延迟收集器) ...

  8. CMS、G1垃圾收集器详解

    CMS垃圾收集器 基本上只能用在老年代,很长一段时间是ParNew(新生代)搭配CMS(老年代)来使用的. 收集过程大概会分为如下4个过程: 1.初始标记: 暂停所有的其他线程,并记录下gc root ...

  9. 详解cms和g1垃圾收集器

    G1 垃圾收集器架构和如何做到可预测的停顿(阿里) CMS垃圾回收机制 参考:图解 CMS 垃圾回收机制原理,-阿里面试题 CMS与G1的区别 参考:CMS收集器和G1收集器优缺点 写这篇文章是基于阿 ...

最新文章

  1. 新手UI设计师需要掌握的知识和技能
  2. BigMemroy系列文章--11. BigMemory中的SizeOf问题
  3. xshell安装mysql步骤_数据库Mysql与禅道安装
  4. 关于html文档,关于HTML的简介
  5. array_multisort - 如何保持键值,不重置键值,键名保持不变
  6. java两种绑定方式_Javascript绑定事件的两种方式的区别
  7. 【消息队列之rabbitmq】Rabbitmq之消息可靠性投递和ACK机制实战
  8. iview render设置属性_iView 发布 3.4.0 版本,代号 BestLuck
  9. cmockery库详解
  10. WebRTC NAT穿透服务器 coturn服务搭建
  11. ERP采购管理 金蝶
  12. Nginx安装配置详解
  13. html5怎么获取当前星期几,javascript如何获取今天是星期几?
  14. gateway请求就是404 nacos+gateway 搭建网关gateway
  15. 第一周学习总结与体会
  16. 因为一个MySQL权限问题引发的填坑之一(ERROR1045:Access Denied for user 'root'@'localhost' (using password:YES))
  17. b站React禹哥版视频笔记-React应用(基于react脚手架)
  18. 51、PIC、AVR、16、32-BIT系列单片机区别与特点
  19. 数据结构:链表逆序输出
  20. 自用笔记44——基姆拉尔森公式和字符串数组

热门文章

  1. 管段超声波流量计大口径
  2. CSDN每日一练非负整数求和 C语言
  3. Neutron 理解 (3): Open vSwitch + GRE/VxLAN 组网
  4. java毕业设计爱音乐网站Mybatis+系统+数据库+调试部署
  5. 【小记】坐标测算直线距离与坐标转换
  6. mysql5.7的高危漏洞_应用CVE: 最新的Mysql高危漏洞介绍
  7. linux7/CentOS 7 RAID磁盘阵列(RAID 5,raid 6 ,raid1+0的配置)
  8. seaborn绘制热力图,如何取消热力图之间的网格线
  9. grep命令,或关系 与关系
  10. C# 海康威视网络半球摄像头回调YV12取画面