深入Garbage First垃圾收集器(三)G1中的垃圾收集
生活随笔
收集整理的這篇文章主要介紹了
深入Garbage First垃圾收集器(三)G1中的垃圾收集
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
G1 GC在收集暫停的過(guò)程中會(huì)回收絕大部分堆分區(qū),唯一的例外是多級(jí)并發(fā)標(biāo)記期間的清除階段。
?
在清除階段,如果G1遇到僅僅只存放了垃圾的分區(qū),它就會(huì)立刻收集這些分區(qū)并將它們放回空閑分區(qū)列表中,因此這些分區(qū)的釋放工作就不用等到下一次垃圾收集暫停時(shí)再做了。
?
G1的垃圾收集周期有3種類型:年輕代收集周期、多級(jí)并發(fā)標(biāo)記周期和混合收集周期。
另外還有一種單線程的回退暫停full GC,它是在垃圾收集遇到轉(zhuǎn)移失敗情況下所采取的安全保護(hù)機(jī)制。
轉(zhuǎn)移失敗
?
?
?
?
在一次年輕代收集的過(guò)程中,G1會(huì)暫停應(yīng)用線程,并將存活對(duì)象從年輕代eden分區(qū)移到survivor分區(qū),或?qū)⑺鼈兲嵘嚼夏甏謪^(qū),也有可能二者同時(shí)發(fā)生。
對(duì)于混合GC,G1同時(shí)還會(huì)將存活對(duì)象轉(zhuǎn)移到一個(gè)或者多個(gè)空閑分區(qū)中,然后這些分區(qū)就成為了老年代的一部分。
GC效率
總結(jié)
以上是生活随笔為你收集整理的深入Garbage First垃圾收集器(三)G1中的垃圾收集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 谈mvc开发中gzip压缩的应用
- 下一篇: Webpack 源码学习系列(一)