太原seo网站建设,网站开发一般多少钱,学校实验室网站建设现状,网址大全有用吗CMS垃圾收集器
CMS垃圾收集器 CMS GC的英文名为#xff1a;“Mostly Concurrent Mark and Sweep Garbage Collector” #xff08;最大-并发-标记-清除-垃圾收集器#xff09;。 作用范围#xff1a; 老年代 算法#xff1a; 并发标记清除算法。 启用参数#xff1a;-XX…CMS垃圾收集器
CMS垃圾收集器 CMS GC的英文名为“Mostly Concurrent Mark and Sweep Garbage Collector” 最大-并发-标记-清除-垃圾收集器。 作用范围 老年代 算法 并发标记清除算法。 启用参数-XX:UseConMarkSweepGC默认回收线程数处理器核心数量 3/4 Java9之后使用CMS垃圾收集器后默认年轻代就为ParNew收集器并且不可更改同时JDK9之后被标记为不推荐使用JDK14就被删除了。
设计目标/优点避免在老年代垃圾收集时出现长时间的卡顿主要通过两种手段来达成此目标
第一不对老年代进行整理而是使用空闲列表free-list来管理内存空间的回收 第二在mark-and-sweep标记-清除阶段的大部分工作和应用线程一起并发执行。
适用场景
GC过程短暂低延迟适合对延迟要求较高的系统
如果服务器是多核CPU并且主要调优目标是降低GC停顿导致的系统延迟那么使用CMS是个很明智的选择。通过减少每一次GC停顿的时间很多时候会直接改善用户体验。因为多数情况下有部分CPU资源被垃圾回收器线程消耗所以在CPU资源受限的情况下CMS GC会比并行GC的吞吐量差一些对于绝大部分系统这个吞吐和延迟的差别应该都不明显 在实际情况中进行老年代的并发回收时可能会伴随多次年轻代的minor GC。在这种情况下full GC的日志中就会掺杂着多次minor GC事件
CMS GC的几个大阶段
1、初始标记CMS initial mark 2、并发标记CMS concurrent mark 3、重新标记CMS remark 4、并发清除CMS concurrent sweep 其中1、3会STW
G1收集器
G1待更新