JVM中的垃圾收集器
2019独角兽企业重金招聘Python工程师标准>>>
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
JVM中的垃圾收集器相关推荐
- 聊聊JVM中那些垃圾收集器
垃圾收集算法是内存回收的方法论,垃圾收集器是内存回收的具体实现.Java虚拟机规范中对垃圾收集器应该如何事先并没有任何规定,故而不同厂商.不同版本的虚拟机所提供的垃圾收集器可能会有很大差别.本文分享的 ...
- jvm中的垃圾收集器serial、parNew、parallel Scavenge;serial old、parallel old、CMS、G1
test 转载于:https://www.cnblogs.com/wangjing666/p/11394117.html
- jvm七种垃圾收集器
JVM_七种垃圾收集器介绍 本文中的垃圾收集器研究背景为:HotSpot+JDK7 一.垃圾收集器概述 如上图所示,垃圾回收算法一共有7个,3个属于年轻代.三个属于年老代,G1属于横跨年轻代和年老代的 ...
- java中的垃圾收集器_Java中的垃圾收集
java中的垃圾收集器 Garbage collection in java is one of the advance topic. Java GC knowledge helps us in fi ...
- JVM之历代垃圾收集器详解
JVM之历代垃圾收集器讲解 总览 分类 并行和并发 年轻代垃圾回收器 Serial收集器 特点 优点 缺点 PartNew收集器 特点: Parallel Scavenge收集器 特点 老年代垃圾回收 ...
- 《给产品经理讲JVM》:垃圾收集器
前言 在上篇中,我们把 JVM 中的垃圾收集算法有了一个大概的了解,又是一个阴雨连绵的周末,宅在家里的我们又开始了新一轮的学习: 产品大大:上周末我们说了垃圾收集算法,下面是不是要讲一下这些算法的应用 ...
- JVM中的垃圾收集算法和Heap分区简记
如何判断垃圾对象? 垃圾收集的第一步就是先需要算法来标记哪些是垃圾,然后再对垃圾进行处理. 引用计数(ReferenceCounting)算法 这种方法比较简单直观,FlashPlayer/Pytho ...
- JVM常用新生代垃圾收集器
文章目录 Serial垃圾收集器 优点 缺点: 应用场景 ParNew垃圾收集器 应用场景 参数 Parallel scavenge垃圾收集器 主要特点 使用场景 Serial垃圾收集器 Serial ...
- JVM探秘:垃圾收集器
本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. 垃圾收集器 烟雨红尘 https://wap.zuxs.net/ 垃圾收集算法是是内存 ...
最新文章
- 存储过程,触发器,函数
- css样式之 direction
- 我们工作到底为了什么(这篇文章很重要)----强烈推荐
- html自动执行bat,html文件执行cmd指令
- docker运行python程序_如何使用Docker运行多个Python脚本和一个可执行文件?
- 设置计算机的出站和入站规则
- OpenStack-Pike(一)
- 再分享 5 个 vs 调试技巧
- 关于数据库备份的问题
- css blink不闪烁_使它闪烁HTML教程–如何使用Blink标签以及代码示例
- mysql 安装绑定my.ini
- 蓝牙条码扫描枪如何选购
- WLAN无线漫游详解
- cam350怎么看顶层_CAM350常用快捷键
- oracle数据库mgmt,19c rac数据库如何添加mgmt
- 基于ABP和Magicodes实现Excel导出操作
- SAR,SHR,SAL,SHL区别
- 【考研数学高数部分】无穷级数
- 微信小程序怎么添加到主屏幕将微信小程序放到手机桌面?
- 计算机更新一直在57转怎么办,win10系统更新到57%出现死机的原因和解决方法