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

汕头哪里建网站asp.net网站开发典型模块与实例精讲

汕头哪里建网站,asp.net网站开发典型模块与实例精讲,wordpress修改关键字,网站做外链1.各垃圾回收器之间的配合使用关系 2.垃圾回收器的种类 2.1 Serial收集器#xff08;默认新生代收集器#xff09; Serial收集器是历史最悠久的收集器#xff0c;曾经是新生代收集器的唯一选择#xff0c;它是一个单线程工作的收集器#xff0c;其“单线程”的意义不仅仅…1.各垃圾回收器之间的配合使用关系 2.垃圾回收器的种类 2.1 Serial收集器默认新生代收集器 Serial收集器是历史最悠久的收集器曾经是新生代收集器的唯一选择它是一个单线程工作的收集器其“单线程”的意义不仅仅是说明它只会使用一个处理器或者一条收集线程去完成垃圾收集工作更重要的是强调它在进行垃圾回收的时候必须暂停其他所有工作线程直到它收集结束 优点 简单而且高效对于内存资源受限的环境它是所有收集器中额外内存消耗最小的对于单核处理器或者处理器核心较少的环境来说Serial收集器由于没有线程交互的开销专心做垃圾收集自然可以获得最高的单线程收集效率 2.2 ParNew收集器 ParNew收集器手机上是Serial收集器的多线程并行版本 注意除了Serial收集器之外目前只有它才可以和CMS进行配合工作 但是随着垃圾回收器的不断改进更先进的G1收集器带着CMS的继承者和替代者出现了G1是一个面向全堆的收集器不需要其他收集器进行配合工作从这JDK9之后,取消了ParNewSerialOld 以及SerialCMS的收集器组合变相的将ParNew合并到了CMS中称为它专门处理新生代的组成部分ParNew可以说是第一个退出历史舞台的垃圾收集器 2.3 Parallel Scavenge收集器 Parallel Scavenge收集器吞吐量优先收集器也是一款新生代收集器它同样是基于标记-复制算法实现的收集器也是能够并行收集的多线程收集器其收集器的特点是它的关注点与其他收集器不同CMS等收集器关注的是尽可能的缩短垃圾收集时用户的停顿时间而Parallel Scavenge收集器关注的是达到一个可控制的吞吐量处理器用于运行用户代码的时间与处理器总消耗时间的比值 注意 停顿时间越短就越适合需要与用户交互或者需要保证服务响应质量的程序、良好的响应速度能提升用户体验高吞吐量则可以最高效率的利用处理器资源尽快的完成程序的运算任务主要适合在后台运算而不需要太多交互的分析任务 2.4 Serial Old收集器 Serial Ol是Serial收集器的老年代版本它同样是一个单线程收集器使用标记-整理算法 2.5 Parallel Old收集器 Parallel Old是Parallel Scavenge收集器的老年代版本支持多线程并发收集基于标记-整理算法实现它的出现“吞吐量优先”收集器终于有了比较名副其实的搭配组合在注重吞吐量或者处理器资源较为稀缺的场合都可以优先考虑Parallel Scavenge Parallel Old收集器这个组合 2.6 CMS收集器 CMS收集器是一种以获得最短回收停顿时间为目标的收集器其基于标记-清除的算法实现分为4个步骤 初始标记初始标记的仅仅只是标记一下GC Roots能够直接关联到的对象速度非常快并发标记从GC Roots的直接关联对象开始遍历整个对象的过程并发重新标记修改并发标记期间因为用户程序继续运作而导致标记产生变动的那一小部分对象的标记记录增量更新并发清除清理删除掉标记阶段判断的已经死亡的对象并发 2.6.1 CMS的缺点 CMS收集器对处理器资源非常敏感CMS无法处理“浮动垃圾”收集结束后会产生大量的空间碎片 2.7 Garbage First收集器 Garbage First(G1)收集器是垃圾收集器技术发展历史上的里程碑式的成果它开创了收集器面向局部收集的设计思路和基于Region的内存布局形式 2.7.1 G1的细节问题的解决方法 将Java堆分成多个独立Region后Region里面存在的跨Region引用对象如何解决 使用记忆集避免全堆作为GC Roots的扫描对象其每个Region都维护有自己的记忆集这些记忆集会记录下别的Region指向自己的指针并标记这些指针分别在哪些卡页的范围内G1的记忆集更像一个哈希表key值是Region的起始位置value是集合卡表的索引但是由于Region的数量比较多所以G1收集器要比其他的收集器有着更高的内存占用负担耗费相当于Java堆的10%~20%的额外内存 在并发标记阶段如何保证收集线程与用户线程互不干扰的运行 G1收集器时采用原始快照算法实现垃圾收集的过程中肯定会有新的对象被创建G1为每一个Region设计了两个名为TAMS的指针把Region中的一部分空间划分出来用于并发回收过程中的对象内存分配并发回收时新分配的对象地址都必须要在这两个指针位置上G1收集器默认在这个地址以上的对象是被隐式标记过的默认是存活的不纳入回收范围之内但是如果内存回收的速度赶不上创建对象分配内存的速度会冻结用户线程而导致长时间的“Stop the world” 怎么样建立起可靠的停顿预测模型 G1收集器的停顿预测模型是以衰减均值为理论基础实现的在垃圾收集的过程中G1收集器会记录每个Region的回收耗时以及记忆集里的脏卡数量等各个可测量的步骤花费的成本并分析得出平均值、标准偏差、置信度等统计信息Region的统计状态越新越能决定其回收的价值然后通过这些信息预测回收哪些Region才可以在不超过期望停顿时间的约束下获得最高的利益 2.7.2 G1的运行步骤 初始标记只标记一下GC Roots能直接关联到的对象并且修改TAMS指针的值让下一阶段用户线程并发运行的时候能正确的在可用的Region中分配内存创建对象并发标记从GC Roots开始对堆中的对象进行可达性分析递归扫描整个堆里的对象图找出要回收的对象重新处理SATB记录下的在并发时有引用变动的对象并发最终标记对用户线程做一个短暂的暂停用于处理并发阶段结束后仍然遗留下来的最后的SATB记录筛选回收负责更新Region的统计数据对各个Region的回收价值和成本进行排序根据用户所期望的停顿时间来制订回收计划把决定回收的Region中的存活对象复制到空的Region中再清理到整个旧的Region的全部空间 3.CMS和G1的比较 在未来CMS肯定会被G1取代但是在这个两者并存的时代中难免会有比较 G1相对于CMS的优点指定最大停顿时间、分Region的内存分布、按收益动态的确定回收集、算法上的优势整体基于标记-整理局部基于标记-复制这两种算法都不会产生内存空间碎片垃圾收集完成之后能提供比较规整的可用内存G1相对于CMS的缺点G1无论是为了垃圾收集产生的内存占用还是程序运行时的额外执行负载都比CMS要高
http://www.w-s-a.com/news/143434/

相关文章:

  • 旺道网站排名优化咸阳建设网站
  • 建设一个类似淘宝的网站律师做推广宣传的网站
  • 东阳网站建设方案网站建设asp
  • 模板网站建设一条龙平面设计师招聘信息
  • 制作一个网站流程企业建设网站的母的
  • 九州建网站网页游戏平台代理
  • 培训课程网站网上下载的网站模板怎么用
  • 重庆山艺网站建设塘厦理工学校
  • 做网站的人叫什么软件玩具网站设计
  • 网站说服力营销型网站策划 pdf深圳有什么公司名称
  • 做物流的可以在那些网站找客户男生晚上正能量你懂我意思
  • 宁德市城乡住房建设厅网站教育机构logo
  • 做定制网站价格有网站了怎么做app
  • 做网站和制作网页的区别北京朝阳区最好的小区
  • 网站策划 ppt北京装修公司排名推荐
  • 郑州网站建设公司哪家专业好如何注册一家公司
  • 证券投资网站做哪些内容滨州论坛网站建设
  • 重庆网站建设公司模板广东佛山
  • 中展建设股份有限公司网站做网站备案是什么意思
  • 石家庄网站建设接单wordpress功能小工具
  • 有没有专门做网站的网站镜像上传到域名空间
  • 网站建设中 windows买域名自己做网站
  • 设计英语宁波seo做排名
  • 奉贤网站建设上海站霸深圳几个区
  • c#做网站自已建网站
  • 成都地区网站建设网站设计类型
  • 如何做网站结构优化北京响应式网站
  • 出售源码的网站威海住房建设局网站
  • 网站建设补充报价单网站建设 技术指标
  • 做网站费用分摊入什么科目做网络网站需要三证么