垃圾回收器學習筆記

總錄

名字 回收算法 特點 適用場景
Serial 復制算法(新生代) 串行,實現(xiàn)簡單效率高,可靠性高,但是有較長的STW 單核環(huán)境和客戶端
Serial Old 標記壓縮算法(老年代) 串行,實現(xiàn)簡單效率高,可靠性高,但是有較長的STW 單核環(huán)境和客戶端,以及作為CMS的后備回收器或搭配Parallel Scavenge使用
ParNew 復制算法(新生代) 并行,可以利用服務器的多核優(yōu)勢,有較長的STW 對STW不敏感的應用或搭配CMS
Parallel Scavenger 復制算法(新生代) 并行,可以實現(xiàn)可控的吞吐量 追求高吞吐量的應用
Parallel Old 標記壓縮(老年代) 并行 注重高吞吐量以及CPU資源敏感的場合,都可以優(yōu)先考慮Parallel Scavenge+Parallel Old 收集器
CMS 標記清除(老年代) 基于標記-清除算法實現(xiàn)。并發(fā)收集、低停頓且會產(chǎn)生內(nèi)存碎片 適用于注重服務的響應速度,希望系統(tǒng)停頓時間最短,給用戶帶來更好的體驗等場景下。如web程序、b/s服務

CMS流程

  1. 初始標記:收集根節(jié)點信息(STW)
  2. 并發(fā)標記:根據(jù)根節(jié)點找到存活對象
  3. 重新標記:為了修正并發(fā)標記期間因用戶程序繼續(xù)運行而導致標記產(chǎn)生變動的那一部分對象的標記記錄(STW)
  4. 并發(fā)清除:對標記的對象進行清除回收。
    參考文章:http://www.itdecent.cn/p/55670407fdb9

G1

G1不同于別的垃圾回收器,JVM堆不再被簡單的分為新生代和老年代.
G1講堆分為多個大小相等的Region,每個region扮演不同的角色,比如有年輕代region,老年代region,復制區(qū)region和大對象region等.
G1通過對分區(qū)域的回收達到了高并發(fā).

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容