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

富阳网站优化网站模板站扩容

富阳网站优化,网站模板站扩容,网站设计电商首页,物业服务网站建设你将学到 1. Serial 收集器 2. ParNew 收集器 3. Parallel Scavenge 收集器 4. Serial Old 收集器 5. Parallel Old 收集器 6. CMS 收集器 7. G1 收集器 在 Java 中#xff0c;垃圾回收#xff08;GC#xff09;是自动管理内存的一个重要机制。HotSpot JVM 提供了多种…你将学到 1. Serial 收集器 2. ParNew 收集器 3. Parallel Scavenge 收集器 4. Serial Old 收集器 5. Parallel Old 收集器 6. CMS 收集器 7. G1 收集器 在 Java 中垃圾回收GC是自动管理内存的一个重要机制。HotSpot JVM 提供了多种垃圾收集器供开发者根据不同的应用场景进行选择。每种垃圾收集器都有其独特的实现原理、优缺点以及适用场景。在这篇博客中我们将详细介绍 HotSpot JVM 中的 7 种垃圾收集器帮助开发者更好地理解它们并在不同的项目中做出最优的选择。  HotSpot 虚拟机中的7个垃圾收集器图中有连线的说明是可以一起搭配使用的下面针对每一个垃圾收集器作单独的讲解。 1. Serial 收集器 Serial收集器是在进行垃圾收集时必须暂停其他所有工作线程(Stop The World)。Stop The World并不是啥好事因为它会导致用户线程停止工作所以有些真实应用来说是无法接受的。 总结: Serial 翻译为串行也就是说它以串行的方式执行Serial 是新生代的垃圾收集器算法复制算法HotSpot 虚拟机运行在客户端模式下的默认新生代收集器 2. ParNew 收集器 ParNew垃圾收集器 是 Parallel Garbage Collector 的一个变种它专门用于 年轻代Young Generation 的垃圾回收ParNew 的设计目的是提高 年轻代垃圾回收的吞吐量通常通过 并行处理 来缩短回收时间减少停顿时间。 总结 垃圾收集时是多线程并行的ParNew是新生代的垃圾收集器使用的是复制算法在 CMS 收集器中ParNew 用于年轻代垃圾回收而老年代则由 CMS 来进行回收。ParNew 和 CMS 共同合作减少了老年代的 Full GC 触发次数并优化了停顿时间使用 -XX:ParallelGCThreads 参数来设置GC线程数 3. Parallel Scavenge 收集器 Parallel Scavenge 收集器是 HotSpot JVM 中的一种 年轻代Young Generation 垃圾收集器。它专注于提高 吞吐量通过并行化的方式来减少垃圾回收过程中的时间开销。Parallel Scavenge 是基于 复制算法Copying Algorithm实现的并且通过多线程的方式来加速垃圾回收过程。这里的吞吐量指 CPU 用于运行用户代码的时间占总时间的比值。 吞吐量 运行用户代码的时间/(运行用户代码的时间运行垃圾收集的时间) Parallel Scavenge收集器提供了两个参数用于精确控制吞吐量分别是控制最大垃圾收集停顿时间 的-XX:MaxGCPauseMilis参数 以及直接设置吞吐量大小的-XX:GCTimeRatio参数。 总结 吞吐量优先收集器新生代垃圾收集器算法复制算法两个精确控制吞吐量的参数 控制最大垃圾收集停顿时间:-XX:MaxGCPauseMilis。直接设置吞吐量大小:XX:GCTimeRatio。 GC 自适应的调节策略开关开启开关就不需要手动指定新生代的大小(-Xmm)、Eden 和 Survivor 区的比例、晋升老年代对象年龄等细节参数了。虚拟机会根据当前系统的运行情况收集性能监控信息动态调整这些参数以提供最合适的停顿时间或者最大的吞吐量。XX:UseAdaptiveSizePolicy 4. Serial Old 收集器 erial Old 收集器 是 HotSpot JVM 中的一种 老年代Old Generation 垃圾收集器。它是 Serial Garbage Collector 的一个扩展版本用于全堆垃圾回收时处理老年代的内存。Serial Old 的设计理念和 Serial GC 一致主要特点是使用 单线程 执行垃圾回收任务适用于资源受限或者对垃圾回收停顿时间不敏感的场景。 总结 老年代收集器算法:标记-整理算法gc时暂停所有用户线程主要作为客户端模式下的HotSpot虚拟机使用另外也作为CMS收集器并发收集发生Concurrent Mode Failure时的后备预案使用 5. Parallel Old 收集器 Parallel Old是Paralle Scavenge收集器的老年代版本多线程并行收集。目前只能与新生代的Parallel Scavenge收集器搭配使用可以说Parallel Old就是为Parallel Scavenge而生的。在这之前Parallel Scavenge收集器只能与老年代的Serial Old进行搭配但是一个多线程一个单线程导致吞吐量并没有充分的提升直到Parallel Old收集器出现。 总结: Parallel Old为Parallel Scavenge而生只能搭配Parallel Scavenge。Parallel Old采用多线程算法标记-整理在注重吞吐量以及处理器资源较为稀缺的场合都可以优先考虑Parallel Scavenge加Parallel Old收集器这个组合JDK 6时才开始提供 6. CMS 收集器 CMSConcurrent Mark-Sweep 收集器是 HotSpot JVM 提供的一种 低延迟 垃圾收集器旨在减少垃圾回收过程中的停顿时间。它的主要目标是 最小化停顿时间使得应用程序能够在垃圾回收的过程中尽可能保持运行状态特别适用于对响应时间敏感的应用。 原理 CMS 收集器主要采用了 标记-清除Mark-Sweep算法结合了并发执行来优化标记和清除阶段减少了停顿时间。它的工作过程分为多个阶段 初始标记Initial Mark 初始标记阶段是 Stop-the-World 的这意味着在这个阶段应用程序会暂停。该阶段会标记 GC Root 可达的对象。这个阶段会很快完成因为只标记根对象的引用不需要遍历整个堆。 并发标记Concurrent Mark 在并发标记阶段CMS 会并发地扫描整个堆标记出所有存活的对象。这个阶段是 并发执行的也就是说在标记阶段应用程序的线程可以继续运行尽量减少停顿时间。但并发标记阶段的执行时间较长且可能需要使用多个 CPU 核心来加速标记过程。 重新标记Remark 在并发标记完成后还需要进行 重新标记 阶段。这个阶段用于标记在并发标记过程中被修改的对象即那些在并发标记过程中被修改了引用关系的对象。此阶段也是 Stop-the-World 的因此应用程序会暂停。重新标记是一个很短的阶段主要用于修正并发标记阶段标记不全的问题。 并发清除Concurrent Sweep 在并发清除阶段CMS 会清理那些没有被标记为存活的垃圾对象。这个阶段是并发执行的应用程序线程可以继续运行。 优点 并发收集低停顿 不足 吞吐量低CMS追求用户线程停顿时间少停顿时间少就只能与用户线程并发执行部分阶段导致整个垃圾回收需要执行的整体时间会更长(停顿之后专心垃圾收集肯定是最快的)所以吞吐量会降低浮动垃圾问题并发清除阶段由于gc线程是与用户线程并发的这个期间用户还会产生新的垃圾所以一般会预留出一部分内存不能等到老年代快满的时候才去收集如果预留的内存不足以存放这部分浮动垃圾的话就会出现Concurrent ModeFailure。出现这个错误之后虚拟机将临时启用 Serial Old 来替代 CMS使用标记-清除算法:因为没有整理的过程所以垃圾收集完之后会有很多空间碎片导致需要分配大块连续内存的时候空间不足 7. G1 收集器 Garbage First(简称G1)收集器意为垃圾优先哪一块的垃圾最多就优先清理它。从名字就可以看出G1的一个特性那就是G1能对不同区块的内存进行回收价值和成本排序即价值越高成本越低的区块会被先回收。另外我们还能为G1设定性能指标例如任意 1秒内暂停时间不超过 10 毫秒G1会尽力去达成这个目标。 开创了收集器面向局部收集的设计思路和基于Region的内存布局形式。JDK8 Update 40这个版本以后的G1收集器被Oracle官方称为“全功能的垃圾收集器”。JDK 9发布之 日G1宣告取代Parallel Scavenge加Parallel Old组合成为服务端模式下的默认垃圾收集器。 G1依然还是采用了分代设计但是之前的一些垃圾收集器有很大差别不会在为新生代老年代等分配规定大小的区域而是将整个堆分成一个个大小固定的Region区域每一个Region都可以是新生代老年代Eden空间Survivor空间的角色。所以Region成为了垃圾收集的最小单元每一次回收都会是Region的整数倍大小。 初始标记:仅仅只是标记一下GC Roots能直接关联到的对象。(需要停顿)并发标记:从GC Roots开始进行可达性分析完成对象图的扫描判断存活对象和可回收对象。做后再处理下SATB记录的有引用变动的对象(无需停顿)最终标记:对用户线程做另一个短暂的停顿用于处理并发阶段结束后仍遗留 下来的最后那少量的SATB记录。(需要停顿)筛选回收:统计各个Region的回收价值和成本并进行排序根据用户所期望的停顿时间来制定回收计划筛选任意多个Region构成回收集然后把决定回收的那一部分Region的存活对象复制到空的Region中再清理掉整个旧 Region的全部空间。(需要停顿)  总结
http://www.w-s-a.com/news/457409/

相关文章:

  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站
  • 建站公司怎么获客网站建设全网营销
  • 黄石做网站的公司html免费网站模板
  • 做个商城网站怎么做便宜优酷视频网站源码
  • 网站侧边栏导航代码泰兴市住房和建设局网站
  • html网站登录界面模板确定建设电子商务网站目的
  • wordpress 多站点迁移三台网站seo
  • 工信部网站备案文件好网站建设公司地址
  • 怎么做app和网站购物网站单页面怎么做的
  • 西宁专业做网站教育网站建设策划书
  • 个人网站域名怎么起网站建设业务好跑吗
  • 网页设计的网网页设计的网站企业网站怎样做优化
  • 论文中小企业的网站建设域名网站空间
  • 宿迁网站建设联系电话现在出入邯郸最新规定
  • 男女做羞羞的事情网站30岁转行做网站编辑
  • 做企业网站的轻量级cmswordpress 越来越慢
  • 无锡中英文网站建设莱芜网络公司
  • ps软件下载官方网站相关搜索优化软件
  • 世界杯网站源码下载做网站推广代理
  • 用股票代码做网站的wordpress通过标签调用文章
  • iis添加网站ip地址树莓派运行wordpress
  • 网站空间域名多少钱宿迁做网站公司
  • 福州建设企业网站网站交互主要做什么的
  • 英文网站建设方法门户网站特点
  • 腾讯云备案 网站名称萧山城市建设网站
  • 漳浦网站建设网络营销推广策略
  • 龙岗商城网站建设教程百度关键词排名突然没了
  • 深圳网站建设服务哪家有织梦网站模板安装
  • 网站设计与网页制作代码大全网站开发还找到工作吗