.概述 Java应用启动的时候,除了配置Xms以及Xmx参数 Xmx:InitialHeapSize, Xms:MaxHeapSize ,还需要选择合适的垃圾收集器。 截止Jdk . ,共提供了 款垃圾收集器,每一款垃圾收集器都具有不同的特点。我们所需要做的就是,根据Java应用的特点已经部署环境,确定不同垃圾收集器的组合。这几款垃圾收集器之间联系如下图所示: 由上图可知,Serial,ParN ...
2019-10-24 15:05 0 600 推荐指数:
1.CMS收集器 Concurrent Mark Sweep CMS收集器是一种以获取最短回收停顿时间为目标的收集器。目前很大一部分的java应用集中在互联网站或者B/S系统的服务端上,这类应用尤其重视服务的相应速度,希望系统停顿时间最短,以给用户带来较好的体验。CMS收集器 ...
本文部分摘自《深入理解 Java 虚拟机第三版》 CMS 收集器 1. 概述 CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。由于大部分 Java 应用主要集中在互联网网站以及基于浏览器的 B/S 系统的服务端,这类应用 ...
1.Serial收集器一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。特点:CPU利用率最高,停顿时间即用户等待时间比较长。适用场景:小型应用通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收器。 2.Parallel收集器采用多线程来通过扫描 ...
G1垃圾收集器是一种工作在堆内不同分区上的并发收集器。分区既可以归属于老年代,也可以归属新生代,同一个代的分区不需要保持连续。为老年代设计分区的初衷是我们发现并发后台线程在回收老年代中没有引用的对象时,有的分区垃圾对象的数量很多,另一些分区垃圾对象相对较少。 虽然分区的垃圾收集工作实际还是要暂停 ...
细节方面不同 G1 在压缩空间方面有优势。 G1 通过将内存空间分成区域(Region)的方式避免内存碎片问题。 Eden, Survivor, Old 区不再固定、在内存使用效率上来说更灵活。 G1 可以通过设置预期停顿时间(Pause Time)来控制垃圾收集时间避免应用雪崩现象 ...
开发过程中,经常需要对GC的垃圾收集器参数不断的进行动态调整,从而更充分的压榨机器性能,提升应用效率。本文将从常见的Parallel/G1垃圾收集器的GC日志着手,分析GC日志的具体含义,以及示范如何根据GC日志调整参数。 1. 准备工作 (1) VM Options 应用程序需要设置 ...
CMS 并发标记清除。。 主要步骤是 初始收集-并发标记-重新标记-并发清除-重置 G1 主要步骤: 初始标记-并发标记-重新标记-复制清除 CMS的缺点是对CPU的要求比较高。 G1的缺点是将内存化成了多块,所以对内存段的大小有很大的要求。 CMS是清除,所以会有很多的内存碎片 ...