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

河北涞水建设厅官方网站软文媒体

河北涞水建设厅官方网站,软文媒体,哪里有做网站系统的,谈谈网站的开发流程jvm结构总结 常见的垃圾回收器有哪些? CMS(Concurrent Mark Sweep) 整堆收集器: G1 由于整个过程中耗时最长的并发标记和并发清除过程中,收集器线程都可以与用户线程一起工作,所以总体上来说,…
jvm结构总结

 

在这里插入图片描述

在这里插入图片描述

常见的垃圾回收器有哪些?

 

 

CMS(Concurrent Mark Sweep)

整堆收集器: G1

由于整个过程中耗时最长并发标记并发清除过程中,收集器线程都可以与用户线程一起工作,所以总体上来说,CMS收集器的内存回收过程是与用户线程一起并发地执行。老年代收集器(新生代使用ParNew)

参数控制:

-XX:+UseConcMarkSweepGC 使用CMS收集器
-XX:+ UseCMSCompactAtFullCollection Full GC后,进行一次碎片整理;整理过程是独占的,会引起停顿时间变长
-XX:+CMSFullGCsBeforeCompaction 设置进行几次Full GC后,进行一次碎片整理
-XX:ParallelCMSThreads 设定CMS的线程数量(一般情况约等于可用CPU数量)

cms是一种预处理垃圾回收器,它不能等到old内存用尽时回收,需要在内存用尽前,完成回收操作,否则会导致并发回收失败
  

G1是目前技术发展的最前沿成果之一,HotSpot开发团队赋予它的使命是未来可以替换掉JDK1.5中发布的CMS收集器

上面提到的垃圾收集器,收集的范围都是整个新生代或者老年代,而G1不再是这样。使用G1收集器时,Java堆的内存布局与其他收集器有很大差别,它将整个Java堆划分为多个大小相等的独立区域(Region),虽然还保留有新生代和老年代的概念,但新生代和老年代不再是物理隔阂了,它们都是一部分(可以不连续)Region的集合。

在这里插入图片描述

每个Region被标记了E、S、O和H,说明每个Region在运行时都充当了一种角色,其中H是以往算法中没有的,它代表Humongous,这表示这些Region存储的是巨型对象(humongous object,H-obj),当新建对象大小超过Region大小一半时,直接在新的一个或多个连续Region中分配,并标记为H。

为了避免全堆扫描,G1使用了Remembered Set来管理相关的对象引用信息。当进行内存回收时,在GC根节点的枚举范围中加入Remembered Set即可保证不对全堆扫描也不会有遗漏了。

如果不计算维护Remembered Set的操作,G1收集器的运作大致可划分为以下几个步骤:

1、初始标记(Initial Making)

2、并发标记(Concurrent Marking)

3、最终标记(Final Marking)

4、筛选回收(Live Data Counting and Evacuation)

看上去跟CMS收集器的运作过程有几分相似,不过确实也这样。初始阶段仅仅只是标记一下GC Roots能直接关联到的对象,并且修改TAMS(Next Top Mark Start)的值,让下一阶段用户程序并发运行时,能在正确可以用的Region中创建新对象,这个阶段需要停顿线程,但耗时很短。并发标记阶段是从GC Roots开始对堆中对象进行可达性分析,找出存活对象,这一阶段耗时较长但能与用户线程并发运行。而最终标记阶段需要把Remembered Set Logs的数据合并到Remembered Set中,这阶段需要停顿线程,但可并行执行。最后筛选回收阶段首先对各个Region的回收价值和成本进行排序,根据用户所期望的GC停顿时间来制定回收计划,这一过程同样是需要停顿线程的,但Sun公司透露这个阶段其实也可以做到并发,但考虑到停顿线程将大幅度提高收集效率,所以选择停顿。下图为G1收集器运行示意图:

G1收集器是基于标记整理算法实现的,不会产生空间碎片,可以精确地控制停顿,将堆划分为多个大小固定的独立区域,并跟踪这些区域的垃圾堆积程度,在后台维护一个优先列表,每次根据允许的收集时间,优先回收垃圾最多的区域(Garbage First)。

 垃圾回收器比较

在这里插入图片描述

垃圾回收器选择策略 

客户端程序 : Serial + Serial Old;

吞吐率优先的服务端程序(比如:计算密集型) : Parallel Scavenge + Parallel Old;

响应时间优先的服务端程序 :ParNew + CMS。
 

知识来源:

【2023年面试】jvm有哪些垃圾回收器,实际中如何选择_哔哩哔哩_bilibili

JVM学习笔记(一)_卷心菜不卷Iris的博客-CSDN博客

http://www.yayakq.cn/news/88623/

相关文章:

  • html网站后台模板中国城市建设网站
  • 提升自己网站上海微信小程序网站建设
  • 中恒建设职业技术培训学校网站把网站做到wordpress里面去
  • 江西做网站哪家好计算机网络设计是干什么的工作
  • 网站前台登陆页面怎么改杨凯做网站
  • 建立网站方法如何在百度上发布广告
  • 什么是门户网站建设平台果洛州商城网站建设
  • 如何在服务器建设iis网站怎样自己建个人网站
  • 加强网站建设工作总结网站开发用台式机电脑配置
  • 学校建设网站目标天津市建设与管理局网站
  • 合肥网站建设模板系统基于淘宝的网站开发分析
  • 国际版网站可以在国内做推广吗网站建设的构思
  • ps做网站的流程重庆转店铺哪个网站平台好
  • 网页制作怎么建站点wordpress网站管理
  • 青岛做网站服务商短视频推广代理
  • m 外贸网站搭建论坛网站多长时间
  • 平谷手机网站设计南宁市学生网页设计
  • 网站推广的工作内容做网站专题的软件
  • 网站建设卖手机代码如何说服企业做网站
  • 许昌做网站优化都有哪些网站可以做推广
  • wordpress底部备案号seo的网站建设
  • 慈溪开发小学网站建设电脑网站 源码
  • 网站设计苏州网站被挂黑链排名降权
  • 建设举报网站阿里云部署一个自己做的网站
  • 济南建手机网站哪家好wordpress the_author
  • 建设一个营销型网站wordpress cms 主题
  • 个人主页网站小制作手工废物利用
  • 网站建设软件哪个最好网站建设和备案
  • 宿迁做网站的商业网络平台
  • 个人网站建设价格套餐网站制作是不是要一个后台