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

标签 java garbage-collection

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

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

最佳答案

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

了解(在 Hotspot 中)年轻一代和老一代使用不同的算法也很重要。

对于年轻代,收集只是将对象复制到幸存者空间或保留到老年代。老一代有多大啊仅当没有足够的空间来放置所有必要的对象时,才会产生影响。

对于旧一代,有不同的算法,但它们都需要识别实时数据和可用空间。更改年轻代的大小将影响 Minor GC 发生的频率,但不会影响最终进入老一代的数据量。根据所使用的算法,可能需要执行完整的压缩收集,但同样,当发生这种情况时,不会受到年轻一代大小的影响。老一代的任期和 split 率。将成为决定因素。

关于java - 一代的大小会影响垃圾收集中其他一代的吞吐量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56311605/

相关文章:

java - 如何绘制旋转的矩形

java - 如何打印数字图案

java - 通过字段 'productDao' 表达的不满足的依赖关系

java - 二维表面 View 动画中的不间断垃圾收集

c# - 具有客户端激活对象的应用程序域中静态对象的远程生命周期

Java GC 线程瓶颈在实践中?

java - 当伊甸园空间和幸存者空间都满了时会发生什么?

java - 尝试与 OrientDB 合作

java - 在 Junit 测试中异常 HashMap 返回 null 后

java - 如何优化 G1 的暂停时间