Java之垃圾收集器比較

Serial收集器

  • 此收集器是單線程的浙巫,但它的”單線程“的意義并不僅僅說明它是一個CPU或一條收集線程去完成垃圾收集工作,更重要的是在進(jìn)行垃圾收集時刷后,必須暫停其他所有的工作線程,直到它收集結(jié)束(會發(fā)生STW)渊抄。
  • 簡單高效(與其他收集器的單線程比)沒有線程交互的開銷尝胆,專心做垃圾收集。
  • 新生代收集器护桦、使用復(fù)制算法含衔。
  • 大多運(yùn)行在Client模式下的默認(rèn)新生代收集器。

ParNew收集器

  • Serial收集器的多線程版本二庵,添加了可用的所有控制參數(shù)(例如:-xx:SurvivorRatio贪染、-XX:PretenureSizeThreshold、-XX:HandlePromotionFailure等)催享、收集算法杭隙、Stop the World、對象分配規(guī)則因妙,回收策略等都與Serial收集器完全一樣痰憎。
  • 新生代收集器,使用復(fù)制算法攀涵。
  • 大多運(yùn)行在Server模式下的默認(rèn)新生代收集器铣耘。
  • 目前只有它能與CMS收集器配合工作。

parallel Scavenge收集器

  • 新生代收集器以故,使用復(fù)制算法蜗细。
  • 可自適應(yīng)調(diào)節(jié)。
  • 提供了控制參數(shù)(例如:-xx:SurvivorRatio怒详、-XX:PretenureSizeThreshold炉媒、-XX:HandlePromotionFailure踪区、-XX:UserAdaptiveSizePolicy),-XX:UserAdaptiveSizePolicy是個開關(guān)參數(shù),當(dāng)打開后橱野,就不需要手動指定新生代的大行嘟伞(-Xmn),Eden與Survivor區(qū)的比例(-XX:SurvivorRatio)水援,晉升老年代對象年齡(-XX:PretenureSizeThreshold)
  • 吞吐量優(yōu)先收集器

Serial Old收集器

  • 老年代收集器密强、單線程收集器、使用”標(biāo)記-整理“算法蜗元。

Parallel Old收集器

  • 老年代收集器或渤,使用多線程和”標(biāo)記-整理“算法,JDK1.6中才開始提供奕扣。
  • 吞吐量優(yōu)先收集器

CMS收集器(Concurrent Market Sweep)

  • CMS收集器是一種以獲取最短回收停頓時間為目標(biāo)的收集器薪鹦。
  • CMS老年代收集器。
  • 并發(fā)收集器惯豆。
  • 基于”標(biāo)記-清除“算法實(shí)現(xiàn)池磁,整個過程分為4個步驟:

1:初始化標(biāo)記(CMS initial mark)
2:并發(fā)標(biāo)記(CMS concurrent mark)
3:重新標(biāo)記(CMS remark )
4:并發(fā)清除(CMS concurrent Sweep)
其中,初始標(biāo)記楷兽、清除標(biāo)記仍然需要STW,初始標(biāo)記僅僅只是標(biāo)記一下GC Roots能直接關(guān)聯(lián)到的對象地熄,速度很快。
特點(diǎn):并發(fā)收集芯杀、低停頓端考。
缺點(diǎn):
1:CMS收集器無法處理浮動垃圾,可能出現(xiàn)Concurrent Mode Failure 失敗導(dǎo)致另一次Full GC的發(fā)生揭厚。
2:會產(chǎn)生大量的空間碎片却特,空間碎片過多時,將會給大對象分配帶來很大麻煩筛圆。

并發(fā)標(biāo)記階段是進(jìn)行GC Roots Tracing的過程裂明。
重新標(biāo)記階段則是為了修正并發(fā)標(biāo)記期間用戶程序繼續(xù)運(yùn)作而導(dǎo)致標(biāo)記產(chǎn)生變動的那一部分對象的標(biāo)記記錄,這個階段的停頓時間一般會比初始化標(biāo)記階段稍長一些太援,但遠(yuǎn)比并發(fā)標(biāo)記的時間短漾岳。
由于整個過程中耗時最長的并發(fā)標(biāo)記和并發(fā)清除過程收集器都可以與用戶線程一起工作,所以粉寞,從總體上來說尼荆,CMS收集器的內(nèi)存回收過程是用戶線程一起并發(fā)執(zhí)行的。

G1收集器

G1是一款面向服務(wù)端應(yīng)用的垃圾收集器唧垦,與CMS相比捅儒,G1具備如下特點(diǎn):

1:并行與并發(fā)
2:分代收集
3:空間整合,與CMS的“標(biāo)記-清理”算法不同,G1從整體來看是基于“標(biāo)記-整理”算法實(shí)現(xiàn)的收集器
4:可預(yù)測的停頓

G1收集器的運(yùn)作大致可劃分為幾個步驟

1:初始化標(biāo)記(initial marking)
2:并發(fā)標(biāo)記(concurrent marking)
3:最終標(biāo)記(Final Marking)
4:篩選回收(Live Data Counting Evacuation)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末巧还,一起剝皮案震驚了整個濱河市鞭莽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌麸祷,老刑警劉巖澎怒,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阶牍,居然都是意外死亡喷面,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門走孽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惧辈,“玉大人,你說我怎么就攤上這事磕瓷『谐荩” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵困食,是天一觀的道長边翁。 經(jīng)常有香客問我,道長硕盹,這世上最難降的妖魔是什么符匾? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮莱睁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芒澜。我一直安慰自己仰剿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布痴晦。 她就那樣靜靜地躺著南吮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪誊酌。 梳的紋絲不亂的頭發(fā)上部凑,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機(jī)與錄音碧浊,去河邊找鬼涂邀。 笑死,一個胖子當(dāng)著我的面吹牛箱锐,可吹牛的內(nèi)容都是我干的比勉。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浩聋!你這毒婦竟也來了观蜗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤衣洁,失蹤者是張志新(化名)和其女友劉穎墓捻,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坊夫,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砖第,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了践樱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厂画。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拷邢,靈堂內(nèi)的尸體忽然破棺而出袱院,到底是詐尸還是另有隱情,我是刑警寧澤瞭稼,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布忽洛,位于F島的核電站,受9級特大地震影響环肘,放射性物質(zhì)發(fā)生泄漏欲虚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一悔雹、第九天 我趴在偏房一處隱蔽的房頂上張望复哆。 院中可真熱鬧,春花似錦腌零、人聲如沸梯找。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锈锤。三九已至,卻和暖如春闲询,著一層夾襖步出監(jiān)牢的瞬間久免,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工扭弧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阎姥,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓鸽捻,卻偏偏與公主長得像丁寄,于是被迫代替她去往敵國和親氨淌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容