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

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

如果说垃圾回收算法是内存回收的方法论,那么垃圾收集器就是算法的具体实现。

这里讨论jdk1.7Update14之后Hotspot的收集器。

这个虚拟机包含的收集器如下图所示:

 

1、Serial收集器

它是一个新生代的单线程收集器,之所以叫单线程是因为,它不仅只使用一个CPU一个线程,而且在它进行垃圾回收的时候必须暂停其他所有线程,指定它回收结束。

 

2、ParNew收集器

它是Serial收集器的多线程版本,其他基本没差别。

 

3、Parallel Scavenge收集器

和ParNew相似,区别在于它的关注点在达到一个可控制的吞吐量。

提供了几个参数:-XX:MaxGCPauseMillis,控制最大垃圾收集停顿时间、-XX:GCTimeRatio,设置吞吐量大小、-XX:+UseAdaptiveSizePolicy,动态地自动设置新生代大小,比例等等参数。

 

4、Serial Old收集器

Serial收集器的老年代版本。使用标记整理方法。

 

5.Parallel Old收集器

Parallel Scavenge收集器的老年版本。

 

6、CMS收集器

以获得最短停顿时间为目的的收集器,在Web项目中,对响应尤其在意,CMS就比较符合。

CMS基于标记清楚算法实现,整个过程分为四个步骤:

初始标记,并发标记,重新标记,并发清除。

其中初始标记和重新标记任然需要暂停其他所有线程。

其中最耗时的并发标记和并发清能和其他线程一起运行。

 

 7、G1收集器

特点:并行并发,分代收集,空间整合,可预测的停顿

步骤:初始标记,并发标记,最终标记,筛选回收

 

转载于:https://www.cnblogs.com/blogofjzq/p/9407532.html

你可能感兴趣的文章
WiCloud 商业Wi-Fi管理平台
查看>>
团队项目--未完待续
查看>>
双重标准,我该怎么解决
查看>>
python中的网页标签等字符处理
查看>>
Mybatis输入类型和结果类型
查看>>
20165237 2017-2018-2 《Java程序设计》第1周学习总结
查看>>
CSU-1908 The Big Escape
查看>>
JAVA遇见HTML——JSP篇:JavaBeans
查看>>
第二章 Vue快速入门-- 19 v-if和v-show的使用和特点
查看>>
MySQL卸载重安装异常解决
查看>>
Linux 命令 ssh 一些错误的解决办法
查看>>
jQuery对checkbox的各种操作
查看>>
(精)题解 guP4878 [USACO05DEC] 布局
查看>>
用vue实现登录页面
查看>>
UVALive 5908 更新一下线段相交模板
查看>>
[转]开发Visual Studio风格的用户界面--MagicLibrary使用指南
查看>>
DS1-3
查看>>
RGB和HSB的转换推算
查看>>
Android 4.2蓝牙介绍
查看>>
MyBatis的底层实现原理
查看>>