然后,第二轮访问扫除未标记的对象,将未使用的闲置内存留作新分配之用。
A second pass then sweeps away the unmarked objects, leaving behind free memory than can be used for new allocations.
如果已经完成所有并发工作,或者闲置内存提前耗尽,则将中止应用程序并完成收集工作。
Once all the concurrent work is done, or if free memory is exhausted ahead of schedule, the application is halted and the collection is completed.
尽管可能有大量闲置内存,但如果它们只是一些小块,其间夹杂着活动对象,那么可能没有哪个碎块大到足以满足某个特定分配需求。
There might be lots of free memory, but if it is in small slices interspersed with live objects then no individual piece might be large enough to satisfy a particular allocation.
应用推荐