[英]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.