gpt4 book ai didi

java - 生存期已满,Tenured Generation GC 是否运行?

转载 作者:行者123 更新时间:2023-11-30 06:02:44 26 4
gpt4 key购买 nike

我试图了解 Java GC 的工作原理。假设由于分配请求,Eden 空间已满。发生 Minor GC,将所有 Eden 和 Survival1 对象收集到 Survival2 中。但在《生存2》中,物体比空间还多。据我了解,当这种情况发生时,溢出会被转移到 Tenured 空间(过早地? - 在对象应该保留在 Young 空间中的预定义 GC 迭代次数之前)。如果 Tenured 空间有足够的空间用于溢出,这样的事件是否也会触发 Tenured 空间的 GC?

我在这里不考虑 G1 垃圾收集。

最佳答案

您对幸存者空间如何工作的假设是正确的。如果“to”幸存者空间没有足够的空间来容纳从“from”空间复制的对象以及从 Eden 收集的对象,则对象将过早地提升(在达到保有阈值之前)到老年代。

老一代。是独立的,因此只有当对象从 Young gen 升级时才会触发 GC。造成它。对于 CMS 和 G1 等算法,它们使用占用率等值来决定何时启动 GC。老一代的GC。如果仍有足够的促销空间,可能会触发,但不确定。

关于java - 生存期已满,Tenured Generation GC 是否运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51954188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com