我说的是UseParNewGC。我对java gc小集合的理解是这样的。当jvm检测到eden已满时(或者它无法满足分配请求)
threads
完全正确吗?是否有一种情况,即即使伊甸园没有满,也会触发小gc?
发布于 2012-02-17 06:27:51
我觉得你做得对。在某些情况下,除了完整的eden空间之外,还会触发一个主要的GC,例如调用System.gc()或RMI。在这种情况下,还将运行一个较小的GC。
发布于 2012-05-08 02:16:29
当
检测到eden已经满(或者它不能满足分配请求)时,是的。但是它会动态地对生成进行评估,以满足收集器的某些目标。主要是暂停时间和部分CPU时间花在GC上。
因此,这些目标间接地决定了小集合发生的频率。主要的集合还可能在运行之前触发一个小集合,以减少来自短暂的年轻对象对旧对象的引用。
https://stackoverflow.com/questions/9320739
复制相似问题