网站设计什么样风格会高端些,潍坊娜娜网站制作,网站建设找工作,青岛做门户网站公司文章目录 Serial垃圾回收器 SerialOld垃圾回收器PS POParNewCMS 常见的垃圾回收器#xff08;下#xff09; Serial垃圾回收器 SerialOld垃圾回收器
Serial是一种单线程串行回收年轻代的垃圾回收器 回收年代和算法 年轻代#xff1a;复制算法 老年代#xff1a;标记-整… 文章目录 Serial垃圾回收器 SerialOld垃圾回收器PS POParNewCMS 常见的垃圾回收器下 Serial垃圾回收器 SerialOld垃圾回收器
Serial是一种单线程串行回收年轻代的垃圾回收器 回收年代和算法 年轻代复制算法 老年代标记-整理算法 优点 单CPU处理器下吞吐量非常出色 缺点 多CPU下吞吐量不如其他垃圾回收器堆如果偏大会让用户线程处于长时间的等待 适用场景 Java编写的客户端程序或者硬件配置有限的场景
PS PO
PSPO是JDK8默认的垃圾回收器多线程并行回收关注的是系统的吞吐量。具备自动调整堆内存大小的特点。 回收年代和算法 年轻代复制算法 老年代标记-整理算法 优点 吞吐量高而且手动可控。为了提高吞吐量虚拟机会动态调整堆的参数 缺点 不能保证单次的停顿时间 适用场景 后台任务不需要与用户交互并且容易产生大量的对象 比如大数据的处理大文件导出
ParNew
ParNew垃圾回收器本质上是对Serial在多CPU下的优化使用多线程进行垃圾回收 -XX:UseParNewGC 新生代使用ParNew回收器老年代使用串行回收器
回收年代和算法 年轻代 复制算法 优点q 多CPU处理器下停顿时间较短 缺点 吞吐量和停顿时间不如G1所以在JDK9之后不建议使用
CMS
CMS垃圾回收器关注的是系统的暂停时间允许用户线程和垃圾回收线程在某些步骤中同时执行减少了用户线程的等待时间。 参数-XX:UseConcMarkSweepGC
回收年代和算法 老年代 清除算法 优点 系统由于垃圾回收出现的停顿时间较短用户体验好 缺点 1、内存碎片问题 2、退化问题 3、浮动垃圾问题 适用场景 大型的互联网系统中用户请求数据量大、频率高的场景 比如订单接口、商品接口等 CMS垃圾回收器存在的问题 1、CMS使用了标记-清除算法在垃圾收集结束之后会出现大量的内存碎片CMS会在Full GC时进行碎片的整理。这样会导致用户线程暂停可以使用-XX:CMSFullGCsBeforeCompactionN 参数默认0调整N次Full GC之后再整理。 2.、无法处理在并发清理过程中产生的“浮动垃圾”不能做到完全的垃圾回收。 3、如果老年代内存不足无法分配对象CMS就会退化成Serial Old单线程回收老年代。 4、并发阶段会影响用户线程执行的性能