博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
「每天一道面试题」Java虚拟机的垃圾收集器有哪些?
阅读量:6068 次
发布时间:2019-06-20

本文共 759 字,大约阅读时间需要 2 分钟。

「每天一道面试题」Java虚拟机的垃圾收集器有哪些?

Serial收集器

Serial收集器是新生代的垃圾收集器,是一个单线程的收集器,它开始工作时会暂停掉其它所有的工作线程,一直到它工作结束。它是虚拟机运行在Client模式下的默认新生代垃圾收集器,采用复制算法。

ParNew收集器

ParNew收集器是新生代的垃圾收集器,采用多线程进行垃圾收集和回收,采用复制算法的收集器,它是Serial收集器的多线程版本,它的实现复用了很多Serial收集器的代码,所以它包含了很多Serial收集器的参数和特性,它能与CMS收集器配合工作。它开始工作的时候会暂停所有用户线程。

Parallel Scavenge收集器

Parallel Scavenge收集器是一个新生代收集器,采用复制算法,多条垃圾收集线程并行工作。它与ParNew收集器的区别是它可以通过参数控制吞吐量,因此也被成为吞吐量优先收集器。

Serial Old收集器

Serial Old收集器是一个老年代收集器,它也是一个单线程收集器,使用标记-整理算法。虚拟机运行在Client模式下,Serial Old收集器用于收集和回收老年代。

Parallel Old收集器

Parallel Old收集器是一个老年代收集器,它使用多线程进行垃圾收集和回收,使用标记-整理算法。和Parallel Scavenge收集器一样,它也注重吞吐量优先。

CMS收集器

CMS收集器是一个老年代收集器,采用标记-清除算法,注重获取最短回收停顿时间,是比较常用的垃圾收集器。它的工作过程包含4个步骤:初始标记、并发标记、重新标记和并发清除,其中初始标记和重新标记需要暂停所有的用户线程。因为它采用标记-清除算法,所以会产生空间碎片。

G1收集器

G1收集器可以用于新生代和老年代,具备用户线程和回收线程的并行与并发等特性。

转载地址:http://gjfgx.baihongyu.com/

你可能感兴趣的文章
Cookie禁用了Session还可以用吗?
查看>>
【Linux】开源系统监控方案:Cacti
查看>>
linux redhat6.5 构建SSH服务及SSH构建密钥对验证
查看>>
log4j - springmvc 中设置日志文件的路径
查看>>
Linux CentOS 学习第6天(2018年6月12日)
查看>>
Java程序员从阿里、百度面试回来,这些面试题你们会吗?
查看>>
去除报表参数动态下拉列表框中的Null Value
查看>>
你所遗漏的SpringBoot日志管理知识
查看>>
Java架构师学习路线图
查看>>
MySQL数据库复制概论
查看>>
网吧行业遭到DDOS功击该怎么办?
查看>>
正则辅助工具
查看>>
MongoDB:使用explain()和Index Usage(第2部分)调查查询
查看>>
单片机最小系统-基于LPC1114
查看>>
直面升职加薪,最高效学习营——TMBA线上营等你来战!
查看>>
JVM 中的栈思考
查看>>
死磕 java集合之HashSet源码分析
查看>>
Android原生与H5交互方式
查看>>
Delphi 常用API函数
查看>>
修改或隐藏IIS7.5的Server头信息
查看>>