垃圾收集器 参阅<<深入理解JAVA虚拟机>>
2024-09-02 10:25:37
一、新生代
1、Serial收集器
新生代单线程复制算法GC(暂停工作线程)----------
支持组合老年代Serial odl和CMS
2、ParNew
Serial多线程版本
支持组合cms|serial old
3、Parallel Scavenge
可控吞吐量-XX:MaxGCPauseMillis 最大垃圾收集停顿时间
-XX:GCTimeRatio: 设置吞吐量大小
支持Serial old和Parallel Old
4、G1
新生代多线程并行复制算法(暂停工作线程)----------老年代单线程标记整理算法(暂停工作线程)
二、老年代
1、Serial OLD(标记-整理)
2、Parallel Old(标记-整理)
3、CMS收集器(标记-清除)
分为4个步骤
初始标记(STW)->并发标记->重新标记(STW)->并发清除
初始标记需要标记一下能gc ROOTS关联到的对象,并发标记就是进行GC ROOTS tracing的过程,
而重新标记为了修正并发标记阶段用户程序运行导致标记标记发生变动的那一部分对象的标记记录,停顿时间比初始标记长比并发标记远短
缺点:对CPU敏感 线程数(Cnum + 3)/4,无法处理浮动垃圾,碎片化
G1并行与并发标记整理
最新文章
- POI对Excel自定义日期格式的读取
- 2016第二届陕西省网络空间安全大赛WriteUp
- 互动教程,让你5分钟掌握 Flexbox 布局模式
- pycharm实用快捷键
- JMeter学习(三)元件的作用域与执行顺序
- Java IO流整理Rick
- js中字符串的截取
- SubsetsTotal Accepted:49746Total Submissions:176257My Submissions
- httpClient 入门实例
- ti processor sdk linux am335x evm setup.sh hacking
- ios开发——实用技术篇Swift篇&;视频
- Hierarchy Viewer显示视图性能指标
- 带你走近AngularJS 之创建自定义指令
- React Native Android开发环境配置
- Codeforces 1108E2 Array and Segments (Hard version)(差分+思维)
- Altium Designer 10 使用技巧
- Djangoの1
- Myschool乱码问题 和mysql 备份还原
- php 数值类型
- java集合框架中Set和List的区别
热门文章
- 树莓派使用Docker部署EdgeX(jakarta版本)
- AT32F415 修改时钟和晶振方法(原创)
- 基于RabbltMQ延迟插件实现延迟队列代码示例
- pycharm解释器的配置等
- 2021.04.03【NOIP提高B组】模拟 总结
- flowable与camunda性能测试对比分析
- 手把手教你实现在Monaco Editor中使用VSCode主题
- &#128104;&#128187;Mybatis源码我搞透了,面试来问吧!写了134个源码类,1.03万行代码!
- 关于 Python 的 import
- APISpace 让你快速获取笑话大全