CMS收集器與G1

CMS收集器
一種以獲取最短回收停頓時間為目標的收集器「使ⅲ基于“標記-清除”算法實現(xiàn)的,整個過程分為4個步驟:
(1)初始標記(CMS initial mark)
(2)并發(fā)標記(CMS concurrent mark)
(3)重新標記(CMS remark)
(4)并發(fā)清除(CMS concurrent sweep)
其中初始標記疾党、重新標記仍然需要“Stop The World”间狂。初始標記僅僅只是標記一下GC Roots能直接關(guān)聯(lián)到的對象坦康,速度很快竣付,并發(fā)標記階段就是進行GC Roots Tracing的過程。而重新標記階段則是為了修正并發(fā)標記期間滞欠,因用戶程序繼續(xù)運作而導(dǎo)致標記產(chǎn)生變動的那一部分對象的標記記錄古胆,這個階段的停頓時間一般會比初始標記階段稍長一些,但遠比并發(fā)標記的時間短筛璧。
整個過程中耗時最長的并發(fā)標記和并發(fā)清除過程中逸绎,收集器線程都可以與用戶線程一起工作妖滔,所以總體上來說,CMS收集器的內(nèi)存回收過程是與用戶線程一起并發(fā)的執(zhí)行的桶良。


image.png

三個缺點:

(1)CMS收集器對CPU資源非常敏感。默認啟動的回收線程數(shù)是(CPU數(shù)量+3)/4;
(2)CMS收集器無法處理浮動垃圾沮翔,可能出現(xiàn)“Concurrent ModeFailure”失敗而導(dǎo)致另一次Full GC的產(chǎn)生陨帆。
“浮動垃圾”指CMS并發(fā)清理階段用戶線程還在運行,伴隨程序運行自然有新的垃圾不斷產(chǎn)生采蚀,這部分垃圾出現(xiàn)在標記過程之后疲牵,只能留待下一次GC時再清理掉。

(3)基于“標記-清除”榆鼠,收集結(jié)束時會有大量的空間碎片產(chǎn)生纲爸。
碎片過多可能出現(xiàn),老年代有很大空間剩余妆够,但無法找到足夠大的連續(xù)空間來分配當前對象识啦,不得不提前觸發(fā)一次Full GC。

-XX:+UseCMSCompactAtFullCollection(默認開啟)神妹,用于在CMS收集器頂不住要進行Full GC時開啟內(nèi)存碎片的合并整理過程颓哮。
-XX:CMSFullGCsBeforeCompaction,這個參數(shù)用于設(shè)置執(zhí)行多少次不壓縮的Full GC后鸵荠,跟著來一次帶壓縮的冕茅。

7、G1收集器
運行步驟:
1蛹找、初始標記
2姨伤、并發(fā)標記
3、最終標記
4庸疾、篩選回收

特點:并行與并發(fā)
          分代收集
          空間整合:基于“標記-整理”乍楚,G1運行期間不會產(chǎn)生內(nèi)存空間碎片,收集后能提供規(guī)整可用的可用內(nèi)存彼硫,有利于程序長時間運行炊豪。
          可預(yù)測的停頓:能讓使用者指定在一個長度為M毫秒的時間片段內(nèi),消耗在垃圾收集上的時間不得超過N毫秒拧篮。

G1收集器將整個java堆劃分為多個大小相等的獨立區(qū)域(Region),跟蹤各個Region里面垃圾堆積的價值大写什场(回收所獲得空間大小以及回收所需的時間經(jīng)驗值),在后臺維護一個優(yōu)先列表串绩,每次根據(jù)允許的收集時間缺虐,優(yōu)先回收價值最大的Region

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市礁凡,隨后出現(xiàn)的幾起案子高氮,更是在濱河造成了極大的恐慌慧妄,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剪芍,死亡現(xiàn)場離奇詭異塞淹,居然都是意外死亡,警方通過查閱死者的電腦和手機罪裹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門饱普,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人状共,你說我怎么就攤上這事套耕。” “怎么了峡继?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵冯袍,是天一觀的道長。 經(jīng)常有香客問我碾牌,道長康愤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任舶吗,我火速辦了婚禮翘瓮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘裤翩。我一直安慰自己资盅,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布踊赠。 她就那樣靜靜地躺著呵扛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪筐带。 梳的紋絲不亂的頭發(fā)上今穿,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音伦籍,去河邊找鬼蓝晒。 笑死,一個胖子當著我的面吹牛帖鸦,可吹牛的內(nèi)容都是我干的芝薇。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼作儿,長吁一口氣:“原來是場噩夢啊……” “哼洛二!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤晾嘶,失蹤者是張志新(化名)和其女友劉穎妓雾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垒迂,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡械姻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了机断。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片策添。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖毫缆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乐导,我是刑警寧澤苦丁,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站物臂,受9級特大地震影響旺拉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜棵磷,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一蛾狗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仪媒,春花似錦沉桌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至偎巢,卻和暖如春蔼夜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背压昼。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工求冷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窍霞。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓匠题,卻偏偏與公主長得像,于是被迫代替她去往敵國和親但金。 傳聞我的和親對象是個殘疾皇子梧躺,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

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