JVM的垃圾回收Serial、Serial Old、Parallel Scavenge、Parallel Old的介绍和STW(Stop The World)
Serial和Serial Old
JDK诞生的第一组垃圾回收器就是Serial和Serial Old。
Serial工作在年轻代,使用标记-复制的回收算法,它是单线程的垃圾回收器
Serial Old工作在老年代,使用标记-整理的回收算法,它也是单线程的垃圾回收器
使用Serial+Serial Old:-XX:+UseSerialGC=Serial+SerialOld
当垃圾回收器工作时所有业务线程都会停止运行,也就是说业务线程工作一段时间垃圾回收工作一段时间,这个业务线程停顿的过程就是STW。
Parallel Scavenge和Parallel Old
由于Parallel Scavenge和Parallel Old经常一起使用,也被简称为PS+PO,JDK默认的垃圾回收器组合就是这个。
Parallel Scavenge简称PS,使用标记-复制的回收算法,它是多线程的垃圾回收器
Parallel Old简称PO,使用标记-整理的回收算法,它也是多线程的垃圾回收器
使用PS+PO:-XX:+UseParallelGC=ParallelScavenge+ParallelOld
PS+PO和Serial+Serial Old的取别在于PS+PO是多线程的垃圾回收器,减少了STW的停顿时间
JVM的垃圾回收Serial、Serial Old、Parallel Scavenge、Parallel Old的介绍和STW(Stop The World)相关推荐
- JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1
GC逻辑分类 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现. 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本. 从不同角度分析垃圾收 ...
- 这么多人问的JVM的垃圾回收到底是个啥?
文章目录 概述 什么是垃圾 为什么需要GC 早期垃圾回收 Java垃圾回收机制 垃圾回收算法 标记阶段:引用计数算法 标记阶段:可达性分析算法 对象的 finalization 机制 MAT 与 JP ...
- 【JVM】垃圾回收机制及算法
垃圾回收机制及算法 一.垃圾回收概述 二.对象是否存活 1. 判断对象是否存活 - 引用计数算法 2.判断对象是否存活-可达性分析算法 1.可达性分析算法 2.JVM之判断对象是否存活 3.关于引用 ...
- JVM与垃圾回收笔记
JVM与垃圾回收 1.JVM与Java体系结构 1.1 Java虚拟机 1.1.1 简介 1.1.2 作用 1.1.3 特点 1.1.4 JVM的位置 1.2 JVM的整体结构 1.3 java代码执 ...
- JVM—7—垃圾回收概述及相关算法
文章目录 一.垃圾回收概述 1.概念 2.什么是垃圾 2.1 什么是垃圾? 2.2 磁盘碎片整理 2.3 大厂面试题 3.为什么需要GC 4.早期垃圾回收 5.Java垃圾回收机制 5.1 优点 5. ...
- jvm垃圾回收机制_深入理解JVM的垃圾回收机制
如何判断对象已"死" Java堆中存放着几乎所有的对象实例,垃圾回收器在堆进行垃圾回收前,首先要判断这些对象那些还存活,那些已经"死去".判断对象是否已&qu ...
- JVM之垃圾回收 II ——方法区和堆区的垃圾回收、STW
垃圾回收 II 一.方法区(jdk1.7)/元空间(jdk1.8) 1.永久代和元空间的关系: 2.方法区/元空间的垃圾回收内容 3.方法区/元空间垃圾回收的方式 二.堆 1.GC堆的划分 2.堆区G ...
- JVM之垃圾回收算法详解
JVM之垃圾回收算法详解 现有的垃圾回收算法 分类 垃圾收集器的设计原则 标记-清除算法 缺点 标记-复制算法 "Apple回收策略" 缺点 标记-整理算法 缺点 总结 现有的垃圾 ...
- 细说JVM的垃圾回收机制
什么是垃圾回收? 从字面看来,按字面意思来理解就是--找到垃圾对象并将他们抛弃掉:事实却正好相反,垃圾回收是把处于活动状态的对象找出来,而将剩余的对象标记为垃圾对象.基于此理论,我们来详细描述java ...
- JVM中垃圾回收相关算法 - 值得了解一下的,因为早晚得了解
JVM中垃圾回收相关算法 - 我想是值得你了解一下的,因为早晚得了解.
最新文章
- arima模型 p q d 确定_时间序列分析第07讲(ARIMA模型,季节时间序列模型,均值的估计)...
- xp系统图标大全_XP、Win7一键清理(批处理)小程序只有2.7KB大小
- 实现Java集合迭代的高性能
- Servlet API
- 《Netkiller Spring Cloud 手札》Spring boot 2.0 mongoTemplate 操作范例
- Windows下如何查看某个端口被谁占用并强制关闭
- sublime配置python-rpel_SublimeREPL配置Python3开发
- 需要什么数据?要说清楚、准确
- SpringMVC全局异常处理机制常见问题及底层实现分析
- padavan固件如何设置打印机
- 傲腾机器Linux,【收藏】傲腾装机必看!
- 最坑人的辨色大比拼微信小游戏源码
- 国内源代码安全漏洞检测工具现状浅析
- 使用腾讯云轻量应用服务器搭建网站教程(也太简单了)
- Python3网络爬虫开发实战(第二版)
- 1583个mms电台列表
- ROS | launch启动文件的使用
- 从购买ECS到SpringCloud项目的自动化部署及发布
- html引入本地css样式无效,vue在index.html里面引入css文件样式加载失败
- G711转AAC代码总结【转】
热门文章
- 判断质数、分解质因数
- html混淆压缩,JavaScript的压缩和混淆
- d3中为每个rect元素绑定带数据的点击事件
- 新农合医疗保险补偿制度
- matlab 二值图像连通区域标记法,一种二值图像连通区域标记的简单快速算法_葛春平...
- 【毕设】基于CycleGAN的风格迁移【二】CycleGAN源码解读
- live2dviewer android,Live2DViewerEX
- 【双足轮机器人】Ascento技术详解--(1)摘要和引言(2)系统描述【翻译】
- 谷歌账号--手机号无法验证
- mysql 乐观锁 超卖_秒杀系统之一:防止超卖(乐观锁)