Jvm 有哪些垃圾回收算法,聊聊他们的优缺点
Jvm 垃圾回收算法有标记清除法,复制算法和标记整理法。
分为两个阶段,标记阶段和清除阶段,标记阶段先将那些没有被引用的垃圾对象打上标记,回收阶段的时候,将打上标记的垃圾对象回收。
简单。
将内存分为两个空间,先遍历存放变量的空间,标记出里面存活的对象,并且将这些对象拷贝到另一个空间中。之和将该空间中剩下的没有被引用的垃圾对象回收。
GC 后的内存空间时连续的。
分为两个阶段,标记和整理阶段,标记阶段是找出内存中不存活的对象,然后将存活的对象向前压缩,将所有的存活对象都放在一起。之后将存活对象的边界以外的空间整理掉,这样防止了碎片的产生。
避免了标记清除和复制算法的缺点。
效率比较低。