JVM垃圾回收算法与收集器
文章内容
垃圾回收方法
标记清除算法
适用:年轻带,年老带
缺点:不连续内存碎片,导致大对象直接进入年老带或者直接触发下一次GC
复制算法
适用:年轻带(更适合“朝生夕死”),不适用于年老带,因为可能存在100%存活的极端情况
缺点:复制算法会导致浪费一定的survivor内存空间,现在内存算法都是经过改良更适合年轻带,且堆中的Eden和2个survivor比例是 8:1:1
标记整理
适用:年老带(更适合“朝生夕死”)
分带收集算法
适用:根据各个年代的特点使用最适当的收集算法
部分垃圾回收器
CMS收集器
初始标记(此处会stop-the-world)
并发标记
重新标记(此处会stop-the-world)
并发清除