博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM常见的七种垃圾收集器的简单比较
阅读量:5295 次
发布时间:2019-06-14

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

1、Serial收集器曾经是虚拟机新生代收集的唯一选择,是一个单线程的收集器,在进行收集垃圾时,必须stop the world,它是虚拟机运行在Client模式下的默认新生代收集器。

2、Serial Old是Serial收集器的老年代版本,同样是单线程收集器,使用标记整理。

3、ParNew收集器是Serial收集器的多线程版本,许多运行在Server模式下的虚拟机中首选的新生代收集器,除Serial外,只有它能与CMS收集器配合工作。

 

4、Parallel Scavenge收集器也是新生代收集器,使用复制算法又是并行的多线程收集器,它的目标是达到一个可控制的运行用户代码跟(运行用户代码+垃圾收集时间)的百分比值。

5、Parallel Old收集器是Parallel Scavenge收集器的老年代版本,使用多线程和标记整理算法。

 

6、Concurrent Mark Sweep 收集器是一种以获得最短回收停顿时间为目标的收集器,基于标记清除算法。

过程如下:初始标记,并发标记,重新标记,并发清除,优点是并发收集,低停顿,缺点是对CPU资源非常敏感,无法处理浮动垃圾,收集结束会产生大量空间碎片。

 

7、G1收集器是基于标记整理算法实现的,不会产生空间碎片,可以精确地控制停顿,将堆划分为多个大小固定的独立区域,并跟踪这些区域的垃圾堆积程度,在后台维护一个优先列表,每次根据允许的收集时间,优先回收垃圾最多的区域(Garbage First)。

 

 原文链接:http://blog.csdn.net/lingzhm/article/details/47174391
 

转载于:https://www.cnblogs.com/xiohao/p/6053984.html

你可能感兴趣的文章
MyBatis foreach标签的用法
查看>>
线程池原理以及自定义线程池
查看>>
Jmeter多机并发压测IP地址问题
查看>>
git使用教程
查看>>
composer错误_Content-Length mismatch, received 84697 bytes out of the expected..
查看>>
Lua 下实现一个简单的消息队列
查看>>
Python中的类
查看>>
Node.js 解析gzip网页(https)
查看>>
python笔记一:python初步
查看>>
Selenium启动Chrome时,加载用户配置文件
查看>>
LeetCode208:Implement Trie (Prefix Tree)
查看>>
一句话木马
查看>>
linux process cycle
查看>>
fckeditor 添加上传附件功能
查看>>
实现用struts2流信息获得图片
查看>>
linux低权限执行高权限
查看>>
unsigned和signed
查看>>
filter的执行顺序
查看>>
webpack 打包出多个HTML文件,多个js文件,图片文件放置到指定文件夹中
查看>>
linux rc.sysinit文件详解
查看>>