JVM之GC垃圾回收全面解析(二)

本文主要介绍了JVM的GC收集器,包括Serial、ParNew、Parallel、Parallel Old、CMS和G1。重点关注CMS和G1的特性,如CMS的并发标记和浮动垃圾问题,G1的区域化内存管理和预测停顿。此外,还讨论了GC参数优化,如吞吐量和响应时间优先的配置示例,以及如何根据活跃数据调整堆分区大小。
摘要由CSDN通过智能技术生成

上节介绍了GC相关概念,算法,和各版本HEAP结构,对GC有了认知。该节开始介绍GC收集器和具体优化。

GC收集器种类 (重点介绍了cms收集器和G1收集器)

 1. Serial:串行收集器,稳定高效停顿时长。新老都串行回收 -XX:+UseSerialGC

 2. ParNew 并行收集器,新并行,老串行XX:+UseParNewGC

 3. Parallel 并行收集器+串行老年代 XX:+UseParallelGC

 -XX:+UseAdaptiveSizePolicy 打开自适应GC策略, 在这种模式下, 新生代的大小, eden,survivior的比例, 晋升老年代的 对象年龄等参数会被自动调整,以达到堆大小,吞吐量, 停顿时间之间的平衡点

 4. Parallel  并行收集器+并行老年代(throughput)  XX:+UseParallelOldGC

 -XX:MaxGCPauseMills,代表最大的GC线程占用的停顿时间,单位是毫秒   -XX:GCTimeRatio,吞吐量-垃圾收集时间占 总时间的比,默认99,允许1%时间做GC.

 如果GC很频繁     GC的最大停顿时间变短,但吞吐量变小,

 如果GC次数很少   最大的停顿时间就会变长,但吞吐量增大

 5. CMS:并发收集器Concurrent Mark Sweep 针对老年代

 老年代使用CMS回收器, 新生代使用ParNew回收器;基于标记清除算法(不压缩

 产生内存,弊端:碎片和浮动垃圾导致另一次FULLGC)  XX:+UseConcMarkSweepGC

CMS--> Card Marking JVM参数是-XX:UseCondCardMark 在高并发的情况下,Card标记为脏的操作本身就存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值