当前位置: 首页 > news >正文

唐山APP小程序网站开发湖州网站建设培训教程

唐山APP小程序网站开发,湖州网站建设培训教程,京东网站设计代码,做网站前期ps 图多大上篇文章介绍用户线程与GC线程并发执行时可能产生的问题以及使用三色标记法演示原始快照和增量更新两种解决方案 这篇文章将主要介绍并发垃圾收集器中的CMS#xff0c;其中CMS使用增量更新来解决对象消失问题#xff0c;如果不了解增量更新的同学可以查看上篇文章深入浅出JV…上篇文章介绍用户线程与GC线程并发执行时可能产生的问题以及使用三色标记法演示原始快照和增量更新两种解决方案 这篇文章将主要介绍并发垃圾收集器中的CMS其中CMS使用增量更新来解决对象消失问题如果不了解增量更新的同学可以查看上篇文章深入浅出JVM十六之三色标记法与并发可达性分析 前言 前文描述过当GC时需要枚举的GC根节点需要极短的停顿STW 而在遍历GC引用链时如果用户线程是停顿的那么不会改变引用GC线程遍历标识即可 但随着堆内存中对象的增多引用链会越来越长如果持续让用户线程停顿在某些需要低延迟的场景是不理想的 因此希望能在这个环节让用户线程和GC线程能够并发执行并发执行就会存在改变对象引用可能导致对象消失问题其中可以使用增量更新和原始快照的方式解决而CMS使用的就是增量更新 Concurrent Mark Sweep CMS全称Concurrent Mark Sweep 并发标记清除收集器 CMS是老年代收集器采用标记-清除算法年轻代常用ParNew收集器以最短停顿时间(低延迟)为目标的收集器 CMS并没有使用标记-整理算法因为标记、清理阶段是和用户线程并发执行的如果使用标记-整理算法可能会导致移动引用的位置导致出错 执行步骤 初始标记: 标记GC Roots直接关联的对象STW时间极短 并发标记: 从GC Roots直接关联对象开始遍历整个引用链的过程耗时长不需要停顿用户线程用户线程与GC线程并发执行 重新标记: 使用增量更新避免对象消失问题修正并发标记期间改动的对象需要STW耗时比步骤1长比步骤2短 并发清除: 清理标记阶段判断已死亡的对象、重置状态等该阶段也是并发执行 执行图 参数设置 -XX:UseConcMarkSweepGC 老年代使用CMS垃圾收集器新生代使用ParNew收集器 -XX:CMSInitiatingOccupancyFraction 设置老年代使用多少空间时开始垃圾回收 如果设置的太高不够内存分配不能满足并发执行就会冻结用户线程启动Serial Old收集器停顿时间就会变长如果内存增长缓慢可以设置高一些如果内存增长很快就要设置低一些 默认92% -XX:UseCMSCompactAtFullCollection 指定在FULL GC后是否对内存进行压缩整理开启后通过-XX:CMSFullGCsBeforeCompaction设置执行多少次FULL GC后进行内存压缩整理 -XX:ParallelCMSThreads 设置GC线程数量 特点 优点: 停顿时间短 只在初始标记重新标记时STW 并发执行 时间长的并发标记和并发清理与用户线程加快响应速度提升用户体验 缺点: 吞吐量降低 在处理器核数少时GC线程与用户线程并发执行使用i-CMS解决:减少GC线程独占时间垃圾回收时间变长对用户线程执行影响变小 无法处理浮动垃圾 增量更新通过记录新增引用来避免对象消失问题可能出现浮动垃圾不能在这一次的GC中被回收只能下一次GC时被回收 CMS不能等老年代满了再垃圾回收因为与用户线程并发执行所以需要留一部分内存 内存碎片多 多次垃圾回收后进行一次标记-整理算法采用替补方案Serial Old 总结 本文根据并发垃圾收集器CMS深入浅出的解析CMS执行流程、优缺点以及配置参数等 CMS是一款主打低延迟、使用标记-清除算法的老年代并发垃圾收集器年轻代常使用ParNew CMS在初始标记时进行STW接下来遍历引用链时与用户线程并发执行然后让用户线程短暂STW使用增量更新进行重新标记最后在并发进行清理、重置等工作 CMS的特点是在遍历引用链、清理时并发执行能够使用户线程的停顿时间变短但是带来吞吐量的降低并且增量更新会导致浮动垃圾的出现由于老年代使用标记-清除算法不整理内存将会导致大对象无法存储替补方案是使用Serial Old单线程标记-整理 如果老年代内存不足或需要整理内存时会使用Serial Old 单线程处理这可能导致延迟更高在高版本中已经有G1等其他垃圾收集器代替CMSCMS在JDK14时被移除 最后一键三连求求拉~ 本篇文章将被收入JVM专栏觉得不错感兴趣的同学可以收藏专栏哟~ 本篇文章笔记以及案例被收入 gitee-StudyJava、 github-StudyJava 感兴趣的同学可以stat下持续关注喔~ 有什么问题可以在评论区交流如果觉得菜菜写的不错可以点赞、关注、收藏支持一下~ 关注菜菜分享更多干货公众号菜菜的后端私房菜 本文由博客一文多发平台 OpenWrite 发布
http://www.pierceye.com/news/84281/

相关文章:

  • 肥东建设局网站做网站什么公司
  • 360网站卖东西怎么做网站开发 需求清单
  • 网站登录超时怎么解决网站首页404
  • 云南网站建设崇左西安将军山网站建设
  • 用手机做网站好学吗分类目录seo wordpress
  • 外贸网站的作用有哪些wordpress vue网站
  • 平谷手机网站建设个人做网络推广哪个网站好
  • 网站改版合同朝阳区手机网站设计服务
  • 莆田的外贸网站网站建设需求分析报告撰写
  • react用于做PC网站什么网站有高端定制案例
  • 如何自己做公司网站怎样做音乐网站
  • 用什么网站可以做链接百度账号快速注册入口
  • 一般网站使用什么做的外链工厂
  • 扬中网站网站建设windows wordpress 安装
  • 中国字体设计网站wordpress网站慢
  • 贵州网站制作建一个网站素材哪里来
  • 优秀的图片设计网站怎么做一个公众号微信
  • 榆次小学网站建设永久免费不收费的软件app
  • 全国建设项目验收信息网站站长工具域名查询
  • 双滦区seo整站排名建网站需要什么知识
  • 厦门建设厅查询网站首页做原创音乐的网站
  • 海南房地产网站页面设计大赛
  • 哪些网站可以做微商企业建设好一个网站后 如何进行网站推广
  • 网站建设这个郑州经济技术开发区政务服务中心
  • 做网站会出现什么问题做cover用什么网站
  • 宁波市北仑区建设局网站免费个人简历模板word版
  • wordpress自动审核评论长沙seo推广
  • 顺德乐从有做阿里巴巴的网站吗网站地图 模板
  • 深圳网站建设seo优化网站开发代码规范
  • 营销网站服务器做网站的软件dw