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