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

宝塔做网站443链接国外网页设计欣赏

宝塔做网站443链接,国外网页设计欣赏,seo网站优化方,厦门网站建设模拟G1是一款既收集新生代又收集老年代的收集器#xff0c;使用它可以实现整个java堆的gc#xff0c;它有两个非常重要的新概念#xff1a;region和remember set#xff08;简称rset#xff09;。 region是啥#xff1f; G1中虽然保留了新生代和老年代的概念#xff0c;但是…        G1是一款既收集新生代又收集老年代的收集器使用它可以实现整个java堆的gc它有两个非常重要的新概念region和remember set简称rset。 region是啥 G1中虽然保留了新生代和老年代的概念但是不像其他收集器那样使用物理内存隔离来区分新生代和老年代在G1中新生代和老年代实现的是逻辑上的内存隔离G1将整个的java堆最多分成2048个大小相等的region每个region的大小为整堆实际大小/2048在1-32M之间并且为2的N次幂。对象是存储在region中的有四种不同类型的regionE、S、O、H分别对应着eden区的region、survivor区的region、老年代的region和h区的regioneden区的region用于存储新被创建的非巨型对象survivor区的region用于存储从eden区复制过来的年龄还未达到15的存活对象老年代的region用于存储从新生代晋升过来的老化对象这些对象大多都是经过了多次gc仍然存活的对象对象的存活概率非常大h区用于存储巨型对象那么什么是巨型对象呢巨型对象是指体积庞大需要占用内存比较大的对象在G1中对于巨型对象的定义是体积超过了一个region的容量的50%以上的对象。在其他的收集器实现中巨型对象在被创建之后直接存放在老年代在G1中巨型对象在被创建之后是存放在h区的region中的一个巨型对象会占用一个或多个连续的h区region。因为在G1中新生代和老年代实现的是逻辑内存的隔离所以G1也不要求相同类型的region必须相邻。在G1中对象被保存在region中所以在gc的时候也是对region中的对象执行可达性分析在可达性分析过程中用到了一个新的概念rsetG1收集器会用gc roots对象配合着rset记录来实现对象的可达性分析那么什么是rset呢 rset是啥 rset是在G1收集器中使用的一个新的数据结构它是一个列表G1收集器会为每一个region创建一个rsetrset中记录的是其他老年代region中的对象对于此region中对象的引用为啥要记录这些引用呢我们知道在其他的收集器中当去执行对象的可达性分析时需要沿着gc roots对象的引用链去查找对象根据引用关系判断对象是否可达而这些引用关系需要通过整堆扫描的方式才能获得可整堆扫描耗时太长为了在这一块儿进行优化G1引入了rset去将引用关系记录下来这样在可达性分析阶段就可以用扫描rset来代替整堆扫描了大大提高了收集性能。 G1的收集模式是怎样的呢 G1支持两种收集模式young gc和mixed gc混合收集。young gc是对于新生代region的gc混合gc是对于所有新生代region和部分老年代region的gc。 什么时候触发young gc呢young gc并非是一遇到eden内存不足以存储新对象就立即触发的初次遇到eden区的region不足以存储新对象时G1首先做的是为eden区分配新的region因为此时新生代的region占比仅为整堆内存的5%G1允许继续为eden区分配新的region但是新生代占比不能超过60%当占比接近60%时eden区的region内存不足就会触发young gc了。young gc在执行的时候会利用gc roots对象和rset记录对新生代的region中的对象执行可达性分析并且将存活对象拷贝到空闲的s区region中去当然在这个过程中要完成存活对象年龄的增长如果有哪个对象的年龄达到了15那这个对象会被晋升到老年代的region中存储如果eden区的region中有大量的对象存活了下来而没有足够的s区region去存储它们也会有部分对象被直接存储到老年代region中。存活对象复制完毕后将eden区的region以及只包含着垃圾的那些s区region清空。 随着程序的执行不断有对象从新生代晋升到老年代中老年代的region也慢慢被对象堆积起来当老年代region占用达到了设置的整堆比阈值默认45%时就要触发混合gc了混合gc是对于全部的新生代region以及部分老年代region的收集为什么是部分老年代而不是全部老年代呢这是因为G1收集器另外一个新特性支持可预测的STW时间设置G1收集器支持我们设置在m毫秒时长内可用于STW的最大时长n的值G1收集器需要在我们限定的这个时长内完成gc所以它不能收集全部的region只能收集部分region那么收集哪一部分region呢G1会对老年代所有region中的对象执行可达性分析分析完成之后所有region中的垃圾堆积情况就确定了然后会对这些region按照回收价值和回收成本做一个优先级排序有着更高的回收价值和更低的回收成本的region总会具有更高的优先级而混合gc中被收集的也是具有最高优先级的那一部分region。 G1收集器同CMS收集器一样也追求更短的STW时间所以它也是并发收集器的实现它的收集过程也分为四个步骤 1、初始标记初始标记是去标记gc roots对象以及被gc roots对象直接关联的对象这个过程要暂停用户线程会有短暂的STW时间 2、并发标记并发标记是根据gc roots对象以及rset记录去标记其他对象这个过程gc线程与用户线程并发虽然耗时较长但是用户线程不用暂停没有STW时间 3、重新/最终标记因并发标记这一步用户线程保持执行那么难免在执行中发生对象引用关系的变化而造成多标和漏标的问题因为漏标导致的结果很严重会让不该被回收的对象被gc回收掉而造成程序错误所以需要有重新标记过程。在并发标记过程中如果有个白色对象被新引用了这个引用会被记录下来在重新标记阶段去为它标记颜色即重新标记是为了做标记修正。这一步需要暂停用户线程会有STW时间但是这一步耗时非常短 4、筛选回收按照优先级筛选部分region进行回收这一步虽然会暂停用户线程但是会有多个gc线程并行回收STW时间很短。 G1收集器的优点 1、并行与并发G1收集器充分利用多核CPU的优势让用户线程与gc线程并发缩短了STW时间实现了更高的性能 2、分代收集G1收集器保留了分代的概念既可以收集新生代又可以收集老年代无需其他收集器配合就能管理整个的java堆 3、没有内存碎片问题G1收集器从局部看用的是复制算法从整体看用的是标记-整理算法没有CMS收集器的内存碎片问题 4、可预测的STW时间G1收集器支持可预测的STW时间模型设置让我们可以实现更好的用户线程暂停管理。
http://www.pierceye.com/news/1190/

相关文章:

  • 做爰的最好看的视频的网站wordpress内容加密
  • 商城网站的建设费用东莞人才网 东莞招聘信息
  • 做网站怎么推广品牌建设经验做法
  • 官方网站开发哪家好高端网站建设 司法
  • 做网站需要简介网站建设与网页设计考试题
  • 广州站在哪里做阿里还是网站
  • 网站建设论文pptwordpress主题 怎么安装教程
  • 做旅游网站能成功要录制课堂上学生讨论的声音应该选用
  • 网站建设补充协议模板学习软件免费
  • 新闻静态网站模板官网招聘平台
  • 2018春节放假安排 网站建设网站设计师
  • 上市公司网站建设wordpress定时任务原理
  • 内江网站怎么做seo网站团队的建设
  • 网站打开慢 可以只换空间不换域名吗在哪个网站可做网络夫妻
  • 汇米网站建设西安市建筑工程信息网
  • 大同本地做网站的微信二级分销模式
  • 建俄语网站网站开发赚钱的方法
  • 机关网站建设和运行情况汇报网站和做空间
  • 郑州搭建网站公司工商注册登记流程
  • 项目信息网站哪个好最好网站建设公司哪家好
  • wordpress设定域名网站内部优化工具
  • 阿里云域名备案网站建设方案书13572074638网站建设
  • 利趣网站开发商网站管理助手 二级域名
  • 上线吧做的网站可以备案临西做网站哪里便宜
  • 北京好网站制作公司哪家好店铺门头设计app
  • 网站服务器大小网站即将上线页面代码
  • 网站建设时怎么附加数据库跨平台app开发工具
  • sns社交网站 建设文档网站运营与管理的内容包括
  • 黑客攻击的网站徐州建设工程交易网招标公告最新
  • 怎么建好网站去掉自豪的使用wordpress