簡體   English   中英

關於java GC的次要集合和主要集合之間的區別

[英]Regarding the difference between minor collection and major collection for java GC

我有一個關於java GC的問題。 我知道年輕一代和主要收藏品的收藏很少,通常YG的尺寸小於終身一代的尺寸。 因此,次要集合的發生頻率高於主要集合。

我的問題是,當次要集合和主要集合開始時,它們如何以不同的方式影響應用程序線程?

如果次要集合更頻繁地發生,即使它快速收集垃圾對象,它是否會使應用程序線程更頻繁地暫停?

謝謝。

我的問題是,當次要集合和主要集合開始時,它們如何以不同的方式影響應用程序線程? 如果次要集合更頻繁地發生,即使它快速收集垃圾對象,它是否會使應用程序線程更頻繁地暫停?

簡單的答案是你的問題(幾乎)是同義反復。 如果次要集合更頻繁地發生,並且次要集合導致應用程序暫停,那么當然這會使應用程序更頻繁地暫停。

真正的答案是行為取決於相應空間的大小(例如YG與YG + TG)以及...更重要的是......在您已配置JVM使用的GC上。 例如,如果您使用低暫停收集器,那么暫停應該不明顯......除非您將限制推得太遠。

請注意,它是暫停的長度 ,而不是重要的暫停頻率。 暫停時間太短而無法注意不要傷害任何人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM