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中的垃圾收集器相关推荐

  1. 聊聊JVM中那些垃圾收集器

    垃圾收集算法是内存回收的方法论,垃圾收集器是内存回收的具体实现.Java虚拟机规范中对垃圾收集器应该如何事先并没有任何规定,故而不同厂商.不同版本的虚拟机所提供的垃圾收集器可能会有很大差别.本文分享的 ...

  2. jvm中的垃圾收集器serial、parNew、parallel Scavenge;serial old、parallel old、CMS、G1

    test 转载于:https://www.cnblogs.com/wangjing666/p/11394117.html

  3. jvm七种垃圾收集器

    JVM_七种垃圾收集器介绍 本文中的垃圾收集器研究背景为:HotSpot+JDK7 一.垃圾收集器概述 如上图所示,垃圾回收算法一共有7个,3个属于年轻代.三个属于年老代,G1属于横跨年轻代和年老代的 ...

  4. java中的垃圾收集器_Java中的垃圾收集

    java中的垃圾收集器 Garbage collection in java is one of the advance topic. Java GC knowledge helps us in fi ...

  5. JVM之历代垃圾收集器详解

    JVM之历代垃圾收集器讲解 总览 分类 并行和并发 年轻代垃圾回收器 Serial收集器 特点 优点 缺点 PartNew收集器 特点: Parallel Scavenge收集器 特点 老年代垃圾回收 ...

  6. 《给产品经理讲JVM》:垃圾收集器

    前言 在上篇中,我们把 JVM 中的垃圾收集算法有了一个大概的了解,又是一个阴雨连绵的周末,宅在家里的我们又开始了新一轮的学习: 产品大大:上周末我们说了垃圾收集算法,下面是不是要讲一下这些算法的应用 ...

  7. JVM中的垃圾收集算法和Heap分区简记

    如何判断垃圾对象? 垃圾收集的第一步就是先需要算法来标记哪些是垃圾,然后再对垃圾进行处理. 引用计数(ReferenceCounting)算法 这种方法比较简单直观,FlashPlayer/Pytho ...

  8. JVM常用新生代垃圾收集器

    文章目录 Serial垃圾收集器 优点 缺点: 应用场景 ParNew垃圾收集器 应用场景 参数 Parallel scavenge垃圾收集器 主要特点 使用场景 Serial垃圾收集器 Serial ...

  9. JVM探秘:垃圾收集器

    本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. 垃圾收集器 烟雨红尘 https://wap.zuxs.net/ 垃圾收集算法是是内存 ...

最新文章

  1. 存储过程,触发器,函数
  2. css样式之 direction
  3. 我们工作到底为了什么(这篇文章很重要)----强烈推荐
  4. html自动执行bat,html文件执行cmd指令
  5. docker运行python程序_如何使用Docker运行多个Python脚本和一个可执行文件?
  6. 设置计算机的出站和入站规则
  7. OpenStack-Pike(一)
  8. 再分享 5 个 vs 调试技巧
  9. 关于数据库备份的问题
  10. css blink不闪烁_使它闪烁HTML教程–如何使用Blink标签以及代码示例
  11. mysql 安装绑定my.ini
  12. 蓝牙条码扫描枪如何选购
  13. WLAN无线漫游详解
  14. cam350怎么看顶层_CAM350常用快捷键
  15. oracle数据库mgmt,19c rac数据库如何添加mgmt
  16. 基于ABP和Magicodes实现Excel导出操作
  17. SAR,SHR,SAL,SHL区别
  18. 【考研数学高数部分】无穷级数
  19. 微信小程序怎么添加到主屏幕将微信小程序放到手机桌面?
  20. 计算机更新一直在57转怎么办,win10系统更新到57%出现死机的原因和解决方法

热门文章

  1. FreeMarker标签介绍
  2. 破解CentOS的root密码(救援模式无密码)
  3. 网页素材大宝库:50套非常精美的图标素材
  4. 别得意,你只是假装收藏了而已
  5. eyoucms range 范围判断标签
  6. Docker 宿主机定时清除容器的运行日志
  7. Elam的git笔记:(二)git的安装与基本操作介绍
  8. 产生所有排列---旋转法------2013年1月22日
  9. 项目构建之maven篇:2.HelloWorld项目构建过程
  10. 一次HP 阵列卡排障