我的读书笔记

Parallel Scavenge 收集器

​ Paralled Scavenge 收集器是一个新生代收集器,他也是使用复制算法的收集器,又是使用并行的多线程收集器。这个收集器的特点是他的关注点和其他的收集器不同。CMS等收集器的主要关注点是尽可能的缩短垃圾回收是用户线程的等待时间。而Paralled Scavenge收集器的主要目标是达到一个可控制的吞吐量。所谓吞吐量就是CPU运行用户代码的时间和CPU消耗的时间的比值,即吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间)
​ 停顿越短越适合用户交互程序,良好的响应时间可以提高用户的体验。而高吞吐量则可以高效的利用CPU时间,尽快的完成程序的运算任务,适合在后台运算而不需要太多的交互任务**。
Paralled Scavenge 收集器提供了两个参数用于精确控制吞吐量。分别是控制最大垃圾收集停顿时间的-XX:MaxGCPauseMillis ,以及直接设置吞吐量大小的-XX:GCTimeRatio 参数。

  • MaxGCPauseMills 参数允许的只是一个大于0的毫秒数,收集器尽可能的保证内存回收的时间不超过设定值。不过把这个参数设置的稍微小一些就能使得系统的垃圾回收更快一些。GC停顿时间缩短是用牺牲吞吐量和新生代空间来换取的
  • GCTimeRatio 参数的指应该是一个大于0,小于100的数,也就是垃圾回收时间占总时间的比例,相当于吞吐量的倒数。默认值是99 ,就是允许最大1%的垃圾收集时间

​ 由于与吞吐量的关系密切,Paralled Scavenge收集器也被称为“吞吐量优先”收集器, 此外 该收集器还有一个-XX:UseAdaptiveSizePolicy 的参数。当这个参数打开之后,就不需要手工指定新生代的大小(-Xmn)、Eden 和Survivor的比例(-XX:SurvivorRatio)、晋升老年代对象大小(-XX:PretenureSizeThreshold)等细节参数了。虚拟机会根据当前系统的运行情况监控信息,g动态调整这些参数以提供适合的停顿时间和吞吐量。这种调节方式被称为:GC自适应调节策略(GC Ergonomics)自适应策略也是Paralled Scavenge 收集器与PreNew 收集器的一个重要区别

我的读书笔记——Paralled Scavenge 收集器相关推荐

  1. 深入理解java虚拟机-读书笔记2-垃圾收集器和内存分配策略

    垃圾回收重点区域:堆和方法区部分区域. 引用计数算法: 1,引用计数算法: 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器都为0的对象 ...

  2. 【Android 内存优化】垃圾回收算法 ( 分代收集算法 | Serial 收集器 | ParNew 收集器 | Parallel Scavenge 收集器 | CMS 并发标记清除收集器 )

    文章目录 一. 分代收集算法 二. 垃圾回收器 / 收集器 ( GC ) 三. 串行收集器 ( Serial ) 四. ParNew 收集器 五. Parallel Scavenge 收集器 六. C ...

  3. 读书笔记——Java虚拟机垃圾收集器与内存分配策略

    本文章已授权微信公众号郭霖(guolin_blog)转载. 本文章讲解的内容是Java虚拟机垃圾收集器与内存分配策略. 概述 说起垃圾收集(Garbage Collection),也就是GC,大部分人 ...

  4. Jvm垃圾收集器总结之 Parallel Scavenge 收集器

    Parallel Scavenge 收集器是个新生代收集器.它也是使用复制算法的收集器,又是并行的多线程收集器....看上去和ParNew 都一样,那它有什么特别之处呢? Parallel Scave ...

  5. jvm笔记2--垃圾收集器与内存分配策略

    -XX:HeapDumpOnOutOfMemoryError     在内存溢出时输出日志记录内存情况. 垃圾收集器与内存分配策略 Java运行时,内存的各个部分中,程序计数器,虚拟机栈,本地方法栈3 ...

  6. Parallel Scavenge收集器:吞吐量优先

    Parallel Scavenge收集器,是年轻代中除了ParNew以外的另一款垃圾收集器,同样采用了并行回收.复制算法和"Stop The World"机制. 那么它和ParNe ...

  7. 深入理解JVM读书笔记二: 垃圾收集器与内存分配策略

    3.2对象已死吗? 3.2.1 引用计数法 给对象添加一个引用计数器,每当有一个地方引用它的地方,计数器值+1:当引用失效,计数器值就减1;任何时候计数器为0,对象就不可能再被引用了. 它很难解决对象 ...

  8. 红帽企业linux4参考指南读书笔记-GRUB引导器

      一个引导加载器通常存在于系统的主硬盘驱动器中,通过它来加载linux内核跟一些需要的文件或其它操作系统到系统内存中. 在各种系统架构上运行RedHat企业Linux系统会使用不同的引导加载器,一般 ...

  9. ZGC收集器(学习笔记)

    ZGC收集器 一款在 JDK 11中新加入的具有实验性质的低延迟垃圾收集器 ZGC的目标是希望在尽可能对吞吐量影响不太大的前提下,实现在任意堆内存大小下都可以把垃圾收集的停顿时间限制在十毫秒以内的低延 ...

最新文章

  1. Netflix是这样炼成的:谁构建,谁运维
  2. new Date(2019-05-10 08:00:00) 格式在IE内核或者低版本浏览器中显示NaN或者Invalid Date的问题...
  3. 越南估值最高的电商公司之一:Tiki获1亿美元融资!
  4. php ob_flush 和flush
  5. latex设置一级标题样式不居中_Markdown不快速入门
  6. ELK日志分析系统(转)
  7. bootstrap .navbar-header 控制button隐藏/显示
  8. 谷歌浏览器的下载位置如何设置 Chrome浏览器下载路径设置方法简述
  9. 总结我在架构师升级过程中的那些坑以及各种体会
  10. Javascript:一个屌丝的逆袭之路
  11. 数据库日志路径--数据库清理垃圾日志路径
  12. 华为机试HJ3:明明的随机数
  13. mysql .myi权限_mysql之引擎、Explain、权限详解
  14. 【论文笔记】NLP 预训练模型综述
  15. SAP UI5 在 PC 端浏览器和移动设备使用摄像头进行条形码扫描的几种解决方案介绍
  16. qq号被盗是什么原理_手机被盗之前(和之后)应该做什么
  17. 推荐电影 奥黛丽赫本的十大经典电影 1953-1989
  18. 如何在world文档框框里打钩
  19. BZOJ4768: 2555加强版之wxh loves substring
  20. python找出列表中最长/短的字符串及他们的长度、下标

热门文章

  1. docker 制作镜像并push至私有仓库
  2. 01组团队项目-Beta冲刺-3/5
  3. win10设置微信双开电脑登录多个微信,超级详细教程,小白也可轻松设置
  4. 微信小程序,如何查看自己的AppID
  5. 选择CRM时的注意事项
  6. 计算机打字工作内容,计算机基础知识打字入门
  7. HTML游戏实战之《跳楼梯》
  8. 一个有趣的问题 : α_β_γ_δ_ε_ζ_η_θ_ι_κ_λ_μ_ν怎么读
  9. 伯乐在线 android,伯乐在线博客
  10. 分享公众号抽奖的作用_微信公众号抽奖活动怎么弄