一、新生代

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并行与并发标记整理

最新文章

  1. POI对Excel自定义日期格式的读取
  2. 2016第二届陕西省网络空间安全大赛WriteUp
  3. 互动教程,让你5分钟掌握 Flexbox 布局模式
  4. pycharm实用快捷键
  5. JMeter学习(三)元件的作用域与执行顺序
  6. Java IO流整理Rick
  7. js中字符串的截取
  8. SubsetsTotal Accepted:49746Total Submissions:176257My Submissions
  9. httpClient 入门实例
  10. ti processor sdk linux am335x evm setup.sh hacking
  11. ios开发——实用技术篇Swift篇&视频
  12. Hierarchy Viewer显示视图性能指标
  13. 带你走近AngularJS 之创建自定义指令
  14. React Native Android开发环境配置
  15. Codeforces 1108E2 Array and Segments (Hard version)(差分+思维)
  16. Altium Designer 10 使用技巧
  17. Djangoの1
  18. Myschool乱码问题 和mysql 备份还原
  19. php 数值类型
  20. java集合框架中Set和List的区别

热门文章

  1. 树莓派使用Docker部署EdgeX(jakarta版本)
  2. AT32F415 修改时钟和晶振方法(原创)
  3. 基于RabbltMQ延迟插件实现延迟队列代码示例
  4. pycharm解释器的配置等
  5. 2021.04.03【NOIP提高B组】模拟 总结
  6. flowable与camunda性能测试对比分析
  7. 手把手教你实现在Monaco Editor中使用VSCode主题
  8. 👨‍💻Mybatis源码我搞透了,面试来问吧!写了134个源码类,1.03万行代码!
  9. 关于 Python 的 import
  10. APISpace 让你快速获取笑话大全