【深入理解Java原理】垃圾回收原理

 

                              内存模型相关  什么时候触发GC?

本文章完整内容发表在公众号:程序员开发者社区,关注后免费看

内存模型相关参考:点击打开链接

CMS垃圾回收器 Concurent Marked Sweep 

并行的标记垃圾回收器

获取最短停顿的回收器, 标记清除算法实现

缺点是:

1.对cpu资源敏感

2.无法处理浮动垃圾

3.有大量碎片产生

 

六个步骤

流程如下:

【深入理解Java原理】垃圾回收原理_第1张图片

1. 初始标记

   初始标记会触发 stop the world ,从垃圾回收的根对象开始查找,这个过程会暂停整个JVM,但是很快结束

2.并行标记

     并发标记进行和用户线程同时执行。用户不会感觉卡顿

3.并发预清理

      并发预清理阶段是并行的,标记新生代进入老年代的对象。

4.重新标记

    扫描 堆中剩余的对象,然后重新从根对象进行扫描会 stop the word

5.并发清理

    清理垃圾对象。和用户线程并发执行

6.并发重置

     重置CMS数据结构,等待下一次垃圾回收

 

什么时候触发GC?

你可能感兴趣的:(深入理解,JVM,原理)