一代的大小会影响垃圾回收中其他一代的吞吐量

时间:2019-05-26 07:40:12

标签: java garbage-collection

调整一代大小(例如年轻一代)的大小影响如何影响其他一代(例如终身一代)的收集频率和暂停时间?

在本文https://www.oracle.com/technetwork/java/gc-tuning-5-138395.html中,它近似无效。我想了解这种近似背后的原因。

1 个答案:

答案 0 :(得分:0)

您在这里需要考虑的是,控制GC暂停时间的主要因素是对象分配的速率以及这些对象变为垃圾的速度。

了解(在热点中)年轻人和老年人使用不同的算法也很重要。

对于年轻一代而言,收藏只是将对象复制到幸存者空间中,或者是将其保留到老一代中。老一代有多大。只有在没有足够的空间来提升所有必要对象的情况下,才会产生影响。

对于老一代,有不同的算法,但是它们都需要标识实时数据和可用空间。更改年轻一代的大小将影响次要GC发生的频率,但不会最终导致多少数据最终出现在老一代中。取决于所使用的算法,可能有必要执行完整的压缩收集,但是再次发生这种情况时,不会受到年轻代大小的影响。老一代的任职率和支离破碎率。将是决定因素。