我试图了解Java中的GC是如何工作的,我想知道在以下情况下会发生什么:
此时,在删除死对象之后,伊甸园可能已经有了足够的空间。Java能利用这个自由空间吗?
在这个问题中,我没有考虑G1垃圾收集器。
发布于 2018-08-23 07:34:23
在您描述的情况下,典型的GC算法(因为您不询问特定的GC算法)将导致主要GC尝试并在旧的gen (终身空间)中回收空间,以允许从Eden/survivor空间中提升对象。
如果这不能回收足够的空间来支持年轻一代的GC完成,那么您将得到一个OutOfMemoryException。
https://stackoverflow.com/questions/51964794
复制相似问题