java基础—JVM的垃圾算法有哪几种?CMS垃圾回收的基本流程?

一共有七种:

1、Serial

2、ParNew
3、Parallel  Scavenge
4、CMS
5、Serial Old(MSC)
6、Parrallel Old

7、G1 


CMS:Concurrent Mark Sweep。



看名字就知道,CMS是一款并发、使用标记-清除算法的gc。


CMS是针对老年代进行回收的GC。 


CMS有什么用?


CMS以获取最小停顿时间为目的。


在一些对响应时间有很高要求的应用或网站中,用户程序不能有长时间的停顿,CMS 可以用于此场景。 


CMS如何执行?
总体来说CMS的执行过程可以分为以下几个阶段:  


          1 初始标记(STW)


          2 并发标记


          3 并发预清理


          4 重标记(STW)


          5 并发清理


          6 重置

CMS缺点?

1.CMS回收器采用的基础算法是Mark-Sweep。所有CMS不会整理、压缩堆空间

2.CMS需要更多的CPU资源。

3.CMS需要更大的堆空间。

4.CMS回收器减少了回收的停顿时间,但是降低了堆空间的利用率。


你可能感兴趣的:(java)