根据 Java平台标准版HotSpot虚拟机垃圾收集调整指南部分标题为"Generations"
当年轻一代填满时,它会导致一个小集合,其中只收集年轻一代
和
最终,终生代将填满并且必须被收集,从而产生一个主要集合,其中收集整个堆。
因此,如果应用程序已完成分配阶段,那么 在整个应用程序的执行过程中,年轻和终身的世代永远不会被填满(在任何阶段),那么gc甚至不会发生一次?
如果会发生,原因是什么?因为这似乎与链接文档相反。
答案 0 :(得分:6)
因此,如果应用程序完成了分配阶段,并且在整个应用程序的执行过程中,年轻和终身代都没有填满(根本就没有,在任何阶段),gc甚至不会发生一次?
是。如果年轻和终身世代没有填补(在任何阶段),那么gc
可能不会发生(甚至一次)。由JVM运行时来管理内存,包括决定何时(或如果)垃圾收集发生。