- 原理
內(nèi)存空間的回收 - 實(shí)現(xiàn)方式
1.標(biāo)記清除法(since 1960)
分為兩個(gè)階段
- 標(biāo)記階段:標(biāo)記出可以回收的對(duì)象凡资。
- 清除階段:回收被標(biāo)記的對(duì)象所占用的空間
兩個(gè)缺點(diǎn) 標(biāo)記和清除的效率都不高默垄,容易產(chǎn)生大量不連續(xù)的內(nèi)存碎片,給后續(xù)大對(duì)象沒(méi)有足夠的連續(xù)的空間從而提前觸發(fā)新的一次垃圾收集動(dòng)作.
垃圾算法都是在此基礎(chǔ)上進(jìn)行修改的
2.復(fù)制算法(新生代比較好)
只使用一半內(nèi)存憨奸,要回收的時(shí)候把"活"著的拷貝過(guò)去牵囤,存活的少?gòu)?fù)制的時(shí)間少斗塘,存活的多復(fù)制的時(shí)間長(zhǎng).
3.標(biāo)記壓縮算法
新生代有比較好的復(fù)制算法,老年代存活率比較高止剖,這樣會(huì)有多的復(fù)制才做不合適腺阳,標(biāo)記壓縮算法是將存活的對(duì)象壓縮到內(nèi)存的一端落君,使他們緊湊的排序到一起,然后對(duì)邊界以外的內(nèi)存進(jìn)行回收亭引,結(jié)束后绎速,已用和未用都再各自的一邊.解決清除算法效率低和容易產(chǎn)生大量?jī)?nèi)存碎片的問(wèn)題.
4.引用計(jì)數(shù)法
它的引用計(jì)數(shù)器就加 1 ,引用失效時(shí)就減 1 。當(dāng)引用計(jì)數(shù)器中的值變?yōu)?0 ,則該對(duì)象
就不能被使用,變成了垃圾焙蚓。假如A類里面有B類 B類里面有A類纹冤,計(jì)數(shù)器就不能為0,就無(wú)法被回收
5.根搜索法(可達(dá)性分析)
基本思想就是選定一些對(duì)象作為 GC Roots购公,以Roots為起點(diǎn)開始向下搜索萌京,當(dāng)一個(gè)對(duì)象不可達(dá)時(shí),即證明了他可以被回收處理
6.分代收集算法『旰啤(https://blog.csdn.net/en_joker/article/details/79737533)
引用文中的一個(gè)圖
GC原理以及實(shí)現(xiàn)方式
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門净神,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人溉委,你說(shuō)我怎么就攤上這事鹃唯。” “怎么了薛躬?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)呆细。 經(jīng)常有香客問(wèn)我型宝,道長(zhǎng),這世上最難降的妖魔是什么絮爷? 我笑而不...
- 正文 為了忘掉前任趴酣,我火速辦了婚禮,結(jié)果婚禮上坑夯,老公的妹妹穿的比我還像新娘岖寞。我一直安慰自己,他們只是感情好柜蜈,可當(dāng)我...
- 文/花漫 我一把揭開白布仗谆。 她就那樣靜靜地躺著指巡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隶垮。 梳的紋絲不亂的頭發(fā)上藻雪,一...
- 那天,我揣著相機(jī)與錄音狸吞,去河邊找鬼勉耀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蹋偏,可吹牛的內(nèi)容都是我干的便斥。 我是一名探鬼主播,決...
- 文/蒼蘭香墨 我猛地睜開眼威始,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼枢纠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起字逗,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤京郑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后葫掉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體些举,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年俭厚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了户魏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站论寨,受9級(jí)特大地震影響星立,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜葬凳,卻給世界環(huán)境...
- 文/蒙蒙 一绰垂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧火焰,春花似錦劲装、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绒怨。三九已至,卻和暖如春纺酸,著一層夾襖步出監(jiān)牢的瞬間窖逗,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓樊诺,卻偏偏與公主長(zhǎng)得像仗考,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子词爬,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 當(dāng)一個(gè)對(duì)象不再被引用的時(shí)候秃嗜,內(nèi)存回收它占領(lǐng)的空間,以便空間被后來(lái)的新對(duì)象使用顿膨。除了釋放沒(méi)用的對(duì)象锅锨,垃圾收集也可以清...
- 好文章必搞,記錄下 文末有自己整理的Xmind總結(jié)~ 轉(zhuǎn)載出處https://uestc-dpz.github.io[...
- 1. 應(yīng)用程序內(nèi)存結(jié)構(gòu) 應(yīng)用程序內(nèi)存空間通常劃分為五個(gè)部分 1.1 靜態(tài)/全局存儲(chǔ)區(qū) 存放全局和靜態(tài)變量,靜態(tài)分配...
- 一次CMS GC問(wèn)題排查過(guò)程(理解原理+讀懂GC日志) - iamzhongyong - ITeye技術(shù)網(wǎng)站 h...
- 上文已經(jīng)介紹了JVM內(nèi)存模型中線程私有的部分(虛擬機(jī)棧、本地方發(fā)棧梅割、程序計(jì)數(shù)器)霜第,那么本篇文章就來(lái)探討下JVM中線...