关于JavaGC的次要集合和主要集合之间的区别

关于JavaGC的次要集合和主要集合之间的区别,java,garbage-collection,Java,Garbage Collection,我有一个关于JavaGC的问题。我知道年轻一代有小收藏,终身一代有大收藏,通常YG的大小小于终身一代的大小。因此,次要收集比主要收集发生得更频繁 我的问题是,当次要集合和主要集合启动时,它们对应用程序线程有何不同的影响 如果次收集发生得更频繁,是否会使应用程序线程更频繁地暂停,即使它会快速收集垃圾对象 谢谢 我的问题是,当次要集合和主要集合启动时,它们对应用程序线程有何不同的影响?如果次收集发生得更频繁,是否会使应用程序线程更频繁地暂停,即使它会快速收集垃圾对象 简单的回答是,你的问题(几乎)是

我有一个关于JavaGC的问题。我知道年轻一代有小收藏,终身一代有大收藏,通常YG的大小小于终身一代的大小。因此,次要收集比主要收集发生得更频繁

我的问题是,当次要集合和主要集合启动时,它们对应用程序线程有何不同的影响

如果次收集发生得更频繁,是否会使应用程序线程更频繁地暂停,即使它会快速收集垃圾对象

谢谢

我的问题是,当次要集合和主要集合启动时,它们对应用程序线程有何不同的影响?如果次收集发生得更频繁,是否会使应用程序线程更频繁地暂停,即使它会快速收集垃圾对象

简单的回答是,你的问题(几乎)是重言式的。如果次收集发生的频率更高,并且次收集导致应用程序暂停,那么当然这会使应用程序暂停的频率更高

真正的答案是,行为取决于各自空间的大小(例如YG与YG+TG),以及。。。更重要的是。。。在配置JVM使用的GC上。例如,如果您使用的是低暂停采集器,那么暂停应该不明显。。。除非你把极限推得太远

请注意,重要的是暂停的长度,而不是暂停的频率。短暂的停顿不会伤害任何人