在IBM JDK 1.5之后,采用了如下的垃圾回收GC策略:
| 针对吞吐量进行优化 |
-Xgcpolicy:optthruput(可选) | 默认策略。对于吞吐量比短暂的 GC 停顿更重要的应用程序,通常使用这种策略。每当进行垃圾收集时,应用程序都会停顿。 |
| 针对停顿时间进行优化 |
-Xgcpolicy:optavgpause | 通过并发地执行一部分垃圾收集,在高吞吐量和短 GC 停顿之间进行折中。应用程序停顿的时间更短。 |
| 分代并发 |
-Xgcpolicy:gencon | 以不同方式处理短期存活的对象和长期存活的对象。采用这种策略时,具有许多短期存活对象的应用程序会表现出更短的停顿时间,同时仍然产生很好的吞吐量。 |
| 子池 |
-Xgcpolicy:subpool | 采用与默认策略相似的算法,但是采用一种比较适合多处理器计算机的分配策略。建议对于有 16 个或更多处理器的 SMP 计算机使用这种策略。这种策略只能在 IBM pSeries® 和 zSeries® 平台上使用。需要扩展到大型计算机上的应用程序可以从这种策略中受益。 |
optthruput 表示针对吞吐量进行优化,optavgpause 表示针对停顿时间进行优化,gencon 表示分代并发,subpool 表示子池。上表中也提到,默认的GC策略为optthruput.实际使用过程中,我们发现,相对于
optthruput来说,gencon的策略更加平衡时间和吞吐量的选择.

本文详细介绍了IBM JDK 1.5版本中四种不同的垃圾回收(GC)策略,包括针对吞吐量优化(optthruput)、针对停顿时间优化(optavgpause)、分代并发(gencon)及子池(subpool)策略。每种策略都有其适用场景,旨在帮助开发者选择最适合自己应用需求的GC方案。
1859

被折叠的 条评论
为什么被折叠?



