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

教育培训机构网站前端做网站要会什么

教育培训机构网站,前端做网站要会什么,网站跳到另一个网站怎么做,广州地铁微博前言 本文参考《深入理解Java虚拟机》#xff0c;本文主要介绍G1收集器的收集思想和具体过程#xff08;填上一篇文章留下的坑#xff09; 本系列其他文章链接#xff1a; JVM#xff08;Java Virtual Machine#xff09;内存模型篇 JVM#xff08;Java Virtual Machi…前言 本文参考《深入理解Java虚拟机》本文主要介绍G1收集器的收集思想和具体过程填上一篇文章留下的坑 本系列其他文章链接 JVMJava Virtual Machine内存模型篇 JVMJava Virtual Machine垃圾收集算法篇 JVMJava Virtual Machine垃圾收集器篇 G1Garbage First收集器 G1是一款主要面向服务端应用的垃圾收集器。它诞生的目的就是取代CMS的位置或者说是“代替者”和“继承人”。开发者在设计之初就是希望能建立一个“停顿时间模型”的收集器。 停顿时间模型能够支持指定在一个长度为x毫秒的时间片段内消耗的垃圾收集时间大概率不超过x毫秒这样的目标 所以G1就在这样的希望下被创造出来了 G1的“化整为零” 在G1收集器中它将连续的堆划分为大小相等的独立的区域Region每个Region都可以根据需要扮演新生代的Eden、Survivor空间或者老年代空间这些空间大小都是动态变化的不再和以前的收集器一样限定分区空间大小。 除此之外Region还有一类Humongous区域这部分区域是专门为大对象准备的。 大对象判定每个对象超过Region容量一半以上就算大对象 所以基于以上分区下G1的垃圾收集就没有Minor GC、Major GC、Full GC 这种概念了它采用的是Mixed GC也就是说G1可以对堆中的任何部分来组成回收集合Collection Set通俗就是“打包一起丢”它的衡量标准是哪块内存中存放的垃圾数量最多回收价值越大就在规定的时间内优先处理这些垃圾 因此为了知道那个区域最优价值所以也需要维护一个优先列表每次GC从列表中取最优的这也是为什么叫“Garbage First”的原因。 基于以上G1中堆的内存布局可能是这样的 G1存在的关键问题已经如何解决的 问Region里面存在跨Region引用对象如何解决 答 使用记忆集但这个记忆集会比其他垃圾器的记忆集更为复杂G1 至少要花费相当于Java堆容量的10%~20%来对这个记忆集进行维护工作。 每个Region的记忆集不就记录下当前Region指向的其他Region的地址而且还有别人指向自己的并标记这些指针分别在哪些卡页范围之内也就是 “我指向谁谁指向我”的记忆集。 补充内容记忆集可以避免垃圾扫描时进行全堆扫描节约时间 问并发标记阶段如何保证收集线程与用户线程互不干扰地运行 答 在回答这个问题前我们需要了解两个概念“增量更新”和“原始快照” 增量更新在并发标记过程中用户线程新对象在GC Root上的某个Node相关联时我们将这个新来的引用记录下来并发标记结束后重新对Node进行扫描查看是否任然是关联关系。原始快照SATB算法对当前堆的关联关系进行快照保存不管中途是新增还是删除并发标记过程中根据快照的关联关系进行扫描 在了解上面两个概念后就可以回答这个问题了G1使用的是原始快照当然具体实现上肯定不止这么简单 此外G1为每个Region设计了两个名为TAMSTop at Mark Start的指针把Region中的一部分空间划分出来用于并发回收过程中的新对象分配并发回收时新分配的对象地址都必须要在这两个指针位置上。G1收集器默认这个地址上的对象是被隐式标记过了即默认他们是存活的。 问怎样建立起可靠的停顿预测模型 答 G1 收集器的停顿预测模型是以“衰减均值”为理论基础来实现的在垃圾收集过程G1收集器会记录每个Region的一些数据例如记忆集里面的脏数据、回收耗时等数据进行计算最终根据这个值来确认回收价值在规定时间内每次回收价值最大的。详细过程读者可以自行了解这里不做过多赘述OWO G1的垃圾收集过程 G1的垃圾收集大致分为下面四个步骤 初始标记Initial Marking 需要停顿线程但是耗时非常短。仅标记GC Roots能直接关联到的对象比修改TAMS的值让下一阶段用户线程并发能正确在Region中分配对象 并发标记Concurrent Marking 与用户线程并发从GC Roots中递归查找可以回收的对象耗时较长对象数量决定 扫描结束后还需要重新处理SATB记录下的并发时有引用变动的对象 最终标记Final Marking 用户线程短暂停顿用于处理并发阶段结束后遗留下来的最后那少量的SATB记录 筛选回收Live Data Counting and Evacuation: 暂停用户线程并发回收对Region中的价值进行排序然后打包多块Region收集把存活的Region复制到另一个Region中然后情况当前Region。这个过程设计对象移动所以需要暂停用户线程。堆内回收示意 到这一步其实也能看出来G1在一定程度上不仅仅为了低延迟还想方设法保证吞吐量不然再最后回收阶段他任然可以并发用户线程ZGC是如此下图是G1收集器运行过程图 END 希望能对你有帮助
http://www.hkea.cn/news/14371664/

相关文章:

  • frp可以做网站吗河南微网站建设公司哪家好
  • 租号网站怎么做wordpress文字占满
  • 网站收录查询官方网站下载方法
  • 佛山网站建设哪里有网站开发众筹
  • 东莞哪些网络公司做网站比较好查企业企业网站有哪些
  • 营销型网站建站系统网站建设的公司推荐
  • 陕西省交通集团建设网站新闻宣传培训网站内容建设
  • 网站木马 代码外部门户网站首页
  • 公司网站怎么做教程企业邮箱怎么申请域名
  • ui网站界面郑州网站设计专家
  • 怎么做商业网站模板慈溪市规划建设网站
  • 便民类网站 做企业网站页头背景图
  • 网站科普信息化建设的意义营销咨询师招聘
  • 做网站教程下载梧州网站推广外包服务
  • 如何制作网站二维码在浏览器上建设网站
  • 怎样做服装网站手机网站和微信网站的区别
  • 网站开发需求调研有没有电脑做兼职的网站
  • 长春网站推广方式微帮本地推广平台
  • 商业网站建设案例笔记拼多多申请注册店铺
  • 企业网站推广的线上渠道有哪些wordpress文字颜色
  • 邵阳企业网站建设怎么下载文件
  • 网站运营的案例建设部网站申请表无法打印
  • 福永镇网站建设网站建设大公司
  • 建立主题网站的知识点个人网站备案没有座机
  • 中国空间站最新进展东莞搭建网站要多少钱
  • 网页设计素材站做基金的网站哪个好
  • vs和php哪个做网站好南京家装口碑排名前十
  • 大淘客网站怎么做网页服务器价格
  • 南京app网站开发公司大型网站团队人数
  • 如何做企业网站界面好的做网站架构的书