2010-09-26 25 views
0

我知道標誌-XX:PretenureSizeThreshold可以用來設置限制YG中分配的大小。可以從終身空間分配新對象嗎?

除此之外,是否還有其他任何可以從任職空間中分配新對象的場景/情況?

如果新的物體尺寸大於伊甸園空間,會發生什麼?青年一代GC是否會發生或物體是從使用區域分配的?

回答

1

如果新對象大小大於伊甸園空間,會發生什麼情況?

有許多的東西,可能發生:

  • 如果在舊空間足夠的可用內存,對象可以在那裏分配。
  • 如果當前堆大小小於最大堆大小,則可以運行GC並擴展堆。這可能會導致新空間對於對象來說足夠大。
  • 如果在運行GC之後舊空間或新空間中沒有足夠的空間,則會產生OOME。

實際答案與JVM版本相關;例如請參閱this FAQ的問題29,它說明在HotSpot 1.4.2和更早版本的Sun JVM中分別發生了什麼。

相關問題