各大垃圾回收器特点
旨在学习,有错误请留言斧正,谢谢。(此文总结于《深入理解JAVA虚拟机》第二部分 内存管理)
垃圾回收算法
这是我之前写的垃圾回收算法
https://blog.csdn.net/zhangjingao/article/details/86680827
垃圾回收算法分为:标记-清除算法、复制算法、标记-整理算法
Parallel Old收集器:
旨在提高系统吞吐量,那么就不能使用标记-清除算法,因为标记-清除虽然步骤少,所以停顿时间短,
但是因为会存在内存碎片,那么在进行内存分配时,在一些大对象的处理上就需要使用一些其他算法来保证空间,如:分区空闲分散链表这种。
所以虽然减少了停顿时间,但是因为内存分配变复杂了,其实吞吐量肯定不会高。
所以这个收集器使用的是标记-整理算法。
CMS收集器:
旨在减少停顿,减少延迟。使用的是标记-清除算法。但是思想稍微不太一样,CMS并不是完全使用标记-清除算法,在碎片少的时候使用的是标记-清除算法,在碎片大到影响对象分配时,那么会使用标记-整理算法 收集一次