博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM中的垃圾收集器
阅读量:6984 次
发布时间:2019-06-27

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

hot3.png

Serial收集器: 一种新生代的单线程收集器,采用复制算法回收。当它进行垃圾收集时,其他用户的所有线程都将暂停。

Serial Old收集器:Serial的老年代版本,采用的是标记-清除算法,同样也是单线程收集器。

ParNew收集器:ParNew收集器实际上是Serial的多线程版本,除了多线程收集垃圾外,其余的包括收集算法(复制算法)、对象分配规则、回收策略等都与Serial收集器完全一样。

Parallel Scavenge 收集器:是一种新生代收集器,采用的是复制算法,是一种并行的多线程收集器,该收集器旨在提高系统的吞吐量(运行用户代码的时间/(运行用户代码的时间+垃圾收集时间)),所以Parallel Scavenger收集器又被称为”吞吐量优先”收集器。

Parallel Old收集器:是Parallel Scavenge 收集器的老年代版本,采用的是‘标记-清除’算法。

CMS收集器:尤其重视用户服务的响应速度,希系统的停顿时间最短,以给用户带来较好的体验。并发收集,低停顿。使用的而是‘标记-清除’算法。

G1收集器:当前收集器技术发展的最前沿技术之一

并行与并发的方式;       采用的分代收集,可以不与其它收集器配合独立管理整个GC堆;       空间整合:整体上看G1采用的是‘标记-整理’算法,但是从局部来看是基于”复制”算法。但无论如何,这两种算法都意味着G1算法都不会产生内存空间碎片,收集后可以提供规整的可用内存。       运作步骤:初始标记;并发标记;最终标记;筛选回收。

备注:

并发:垃圾收集线程可以和用户线程同时执行

并行:可以有多条垃圾收集线程,但是此时的用户线程仍然处于等待状态。

转载于:https://my.oschina.net/kaixuan1995/blog/676750

你可能感兴趣的文章
JMeter接口测试
查看>>
animate.html
查看>>
mysql 配置mac环境变量「转」
查看>>
创建表规范 lob 字段
查看>>
C++ 3D物理引擎库BulletPhysics基本使用
查看>>
多媒体开发之--- rtsp 中的H264 编码+打包+解码相关知识es、pes、ts...
查看>>
在网络中传输数据(I)
查看>>
C语言编程规范--------11 代码测试、维护
查看>>
Azkaban工作流调度器(1)--azkaban的安装
查看>>
10.27T4 奶酪 并查集
查看>>
ModelBasedCompressiveSensing
查看>>
Sparse low rank approximation
查看>>
GCD线程
查看>>
Shell - 简明Shell入门13 - 用户输入(UserInput)
查看>>
模块和包
查看>>
查询一段时间内修改过的存储过程
查看>>
[转]artDialog说明文档
查看>>
递归的二叉查找树Java实现
查看>>
文件管理[Linux]
查看>>
组合模式(Composite Pattern)
查看>>