当前位置: 首页 > 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/902697/

相关文章:

  • 区总工会网站建设流程全站加速 wordpress
  • 多语种 小语种网站推广方法搭建网站软件
  • 乐昌市建设网站影响seo排名的因素有哪些
  • 南昌网站建设哪家强html编辑工具有哪些
  • 便捷网站建设价格wordpress部分文字管理员可见
  • 长沙好博网站建设有限公司wordpress自带友情链接
  • 学校建设网站费用申请报告线上推广网络公司
  • 自助建站平台便宜网站 使用的字体
  • 手机网站建设liedns电信宽带做网站
  • 成都彩票网站开发网页版qq邮箱登录
  • 怎样做安居客网站展示网站报价
  • 网站服务商是什么网站建设报价明细
  • 学校网站制作推荐视频门户网站建设服务器
  • 购物网站开发中查看订单的实现逻辑小程序开发兼职
  • 互联网专线做网站怎么做数据dede手机网站制作
  • 租号网站建设网站建设租用服务器
  • 官方购物网站正品案例网站有哪些
  • 平台下载素材网站开发微信订阅号做微网站吗
  • 网站开发宝典网站开发项目架构说明书
  • 世界优秀摄影作品网站长沙本地推广
  • 成都中小企业网站建设公司始兴生态建设网站
  • 尼乐清网站建设怎么创建自己的博客网站
  • 网站建设优化项目wordpress单页后台模板
  • 网站备案查询姓名江苏省实训基地建设网站
  • wordpress 调用 api接口seo入门培训学多久
  • 做网站推广公司专业彩铃制作
  • 西安网站开发培训国内十大搜索引擎排名
  • 国外炫网站seo外链平台
  • psd网站排行榜四川省建设工程设备安全协会网站
  • 网站定制文章列表项怎么做wordpress 文字折叠