- 只发生在heap(堆)中
- 分类
- 次数上频繁收集Young区(年轻代),Minor GC
- 次数上较少收集Old区(老年代),Full GC
- 基本上不动Perm区(永久区没有GC)
- 四大收集算法
- 引用计数法
- 已经被淘汰了,没有办法处理循环引用问题,JVM已经不用这个算法了
- 复制算法
- 特点:从一个内存区域复制到另一个内存区域
- 时机和位置:发生在Young区(年轻代),Minor GC
- 缺点
- 需要双倍空间
- 优点
- 效率高,速度快
- 没有内存碎片,是连续的。
- 标记清除
- 特点:清除没有标记的,过程是标记+清除
- 时机和位置:发生在Old区(老年代),Full GC
- Old区(老年代)一般是由标记清除或者是标记整理的混合实现
- 缺点
- 清理过程中要扫描两次,标记一次,清除一次,耗时严重
- 有内存碎片
- 优点
- 不需要双倍空间
- 标记压缩
- 特点:先进行标记,再进行压缩,过程是标记+压缩
- 时机和位置:发生在Old区(老年代),Full GC
- Old区(老年代)一般是由标记清除或者是标记整理的混合实现
- 缺点
- 清理过程中要扫描两次,标记一次,压缩一次,耗时严重
- 需要移动对象的成本
- 优点
- 不需要双倍空间
- 没有内存碎片,是连续的。
- 标记清除压缩
- 标记、清除多次以后再进行压缩,减少了移动对象的成本
- 引用计数法
- 实际工作中的意义/用途
JVM垃圾回收(GC)
猜你喜欢
转载自www.cnblogs.com/wyp1988/p/12058877.html
今日推荐
周排行