标记-清除算法示意图为了解决效率问题,有了“复制”的算法,他将可用内存分为大小相同两块。实现简单,运行高效。实际上,新生代中的对象98%都是朝生夕死,所以不需要按1:1的比例来分内存,而是将内存分为一块较大的Eden空间和两块较小的Survivor空间,每次使用Eden空间和其中一块Survivior空间。当回收时,将Eden和Survivor中还存活的对象一次性的拷贝到另一块Suivivior中,最后清理掉Eden和刚用过的Survivor空间。复制算法示意图复制收集算法在对象存活率高的时候就要执行较多的复制操作,效率将会变低。在新生代中,每次垃圾收集时都发现有大批对象死去,只有少量存活,那就用复制算法,只要少量复制成本就可以完成收集。

基于JVM 中常见垃圾收集算法介绍

基于JVM 中常见垃圾收集算法介绍