gpt4 book ai didi

java - 可以从 Tenured 空间分配新对象吗?

转载 作者:行者123 更新时间:2023-12-01 16:01:22 25 4
gpt4 key购买 nike

我知道标志 -XX: PretenureSizeThreshold 可用于设置限制 YG 中的分配大小。

除此之外,是否还有其他场景/条件可以从权属空间中为新对象分配空间?

如果新对象大小大于 eden 空间会发生什么?是否会发生年轻代GC或者对象是从tenure区域分配的?

最佳答案

what happens if new object size is larger than the eden space ?

有很多事情可能发生:

  • 如果 Old 空间中有足够的可用内存,则可以在那里分配对象。
  • 如果当前堆大小小于最大堆大小,则可以运行 GC 并扩展堆。这可能会导致新空间足够大以容纳该对象。
  • 如果运行 GC 后旧空间或新空间没有足够的空间,则会导致 OOME。

实际答案取决于 JVM 版本;例如参见this FAQ的第29个问题其中说明了 HotSpot 1.4.2 和早期 Sun JVM 中(分别)发生的情况。

关于java - 可以从 Tenured 空间分配新对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3796494/

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