JVM常用垃圾收集器簡介

垃圾收集器是基於垃圾收集算法的具體實現。JVM的垃圾收集器有很多種,但目前,還沒有出現最好的垃圾收集器,更沒有萬能的垃圾收集器。我們能做的就是根據自己的業務場景選擇適合自己的垃圾收集器。

1 Serial收集器
  最基本,歷史最悠久的垃圾收集器,單綫程,執行垃圾收集時需要暫停工作綫程,直至垃圾收集結束。
  Young區采用複製算法,Old區采用標記整理算法。
  優點是簡單高效,沒有綫程交互的開銷。缺陷是過長的STW,導致不良的用戶體驗。
2 ParNew收集器
  Serial收集器的多綫程版本,除了使用多綫程進行垃圾收集之外,其他與Serial收集器完全一樣。
3 Parallel Scavenge收集器
  類似於ParNew收集器,是Server模式下的默認收集器。
  主要關注吞吐量,高效使用CPU;
  Young區采用複製算法,Old區采用標記整理算法;
4 CMS收集器
  以獲取最短回收停頓時間為目標的收集器,HotSpot虛擬機第一款真正意義上的并發收集器,第一次實現垃圾收集綫程與用戶綫程基本上同時工作;
  過程:初始標記,并發標記;重新標記;并發清理;并發重置
  優點:并發收集,低停頓;
  缺點:對CPU資源敏感;無法處理浮動垃圾;會有大量空間碎片產生(因爲使用標記清除算法),當然,可以通過壓縮參數在清除完成后整理空間碎片;執行過程的不確定性;
5 G1收集器
  面嚮服務器的收集器,主要針對多核大内存機器作垃圾收集,在滿足特定GC停頓時間的同時,還具備高吞吐量;
  G1收集器保留了分代的概念,但不再是物理的隔閡,它將内存劃分為可以不連續的Region的集合;某一個Region可以是年輕代,老年代,或者是大對象區;主要采用複製算法
  過程:初始標記,并發標記,最終標記,篩選回收;
  G1相較於其他收集器,最主要的一個特徵就是可預測的停頓;

時間有限,不寫太多,僅供瞭解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值