2018-04-27 常見垃圾回收算法

3問:什么要回收歹河,什么時候回收论寨,怎么回收

判斷對象要回收的算法:

1引用計數(shù)算法:添加計數(shù)器,如果被引用+1胞锰,引用失效-1灾锯,計數(shù)為0的對象可以被回收。(但主流jvm采用的不是該方法,原因;很難解決循環(huán)引用問題)

2可達性分析算法:原理:創(chuàng)造GC root對象嗅榕,可回收的對象為與GC root 無直接和間接引用的對象

java中可作為GC root的對象:
虛擬機棧中的引用對象顺饮;
方法區(qū)中類靜態(tài)屬性應(yīng)用引用對象;
方法去中常量引用對象凌那;
本地棧 被native方法修改的引用對象兼雄;
java 中的回收流程:gc回收->發(fā)現(xiàn)可回收對象->執(zhí)行finalize()(only one) ->是否被引用->是:不回收;否:回收

一般垃圾收集算法:

1標記-清除算法:
將標記為可回收的對象清除
存在問題效率低帽蝶,占用空間大
2復(fù)制算法:
將內(nèi)存一分為2赦肋,每次可回收的對象清理后,將剩余的對象按順序放到另一半励稳;
優(yōu)點:提高了效率佃乘;缺點:內(nèi)存減半
應(yīng)用:回收新生代(特點:98%會死),將內(nèi)存分為1大Eden2小Survivor驹尼,默認8:1:1趣避;新對象放eden,將eden回收后的對象放在一個Survivor,下次回收eden+Survivor的對象,剩余對象放在另一個Survivor,以此類推新翎;
3標記整理算法
應(yīng)對老年代對象(特點:存活率高)程帕,在標記完成后住练,存活對象向一段移動,完成后清除邊界外的對象
4分代收集算法:根據(jù)對象的活動周期將對象分為新生代骆捧,老年代澎羞;新生代使用復(fù)制算法,老年代使用標記-清除/整理算法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末敛苇,一起剝皮案震驚了整個濱河市妆绞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枫攀,老刑警劉巖括饶,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異来涨,居然都是意外死亡图焰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門蹦掐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來技羔,“玉大人,你說我怎么就攤上這事卧抗√倮模” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵社裆,是天一觀的道長拙绊。 經(jīng)常有香客問我,道長泳秀,這世上最難降的妖魔是什么标沪? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮嗜傅,結(jié)果婚禮上金句,老公的妹妹穿的比我還像新娘。我一直安慰自己吕嘀,他們只是感情好违寞,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著币他,像睡著了一般坞靶。 火紅的嫁衣襯著肌膚如雪憔狞。 梳的紋絲不亂的頭發(fā)上蝴悉,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音瘾敢,去河邊找鬼拍冠。 笑死尿这,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的庆杜。 我是一名探鬼主播射众,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晃财!你這毒婦竟也來了叨橱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤断盛,失蹤者是張志新(化名)和其女友劉穎罗洗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钢猛,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡伙菜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了命迈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贩绕。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖壶愤,靈堂內(nèi)的尸體忽然破棺而出淑倾,到底是詐尸還是另有隱情,我是刑警寧澤公你,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布踊淳,位于F島的核電站,受9級特大地震影響陕靠,放射性物質(zhì)發(fā)生泄漏迂尝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一剪芥、第九天 我趴在偏房一處隱蔽的房頂上張望垄开。 院中可真熱鬧,春花似錦税肪、人聲如沸溉躲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锻梳。三九已至,卻和暖如春净捅,著一層夾襖步出監(jiān)牢的瞬間疑枯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工蛔六, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荆永,地道東北人废亭。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像具钥,于是被迫代替她去往敵國和親豆村。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

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

  • 1.什么是垃圾回收骂删? 垃圾回收(Garbage Collection)是Java虛擬機(JVM)垃圾回收器提供...
    簡欲明心閱讀 89,451評論 17 311
  • JVM架構(gòu) 當一個程序啟動之前掌动,它的class會被類裝載器裝入方法區(qū)(Permanent區(qū)),執(zhí)行引擎讀取方法區(qū)的...
    cocohaifang閱讀 1,650評論 0 7
  • 來自: Android夢想特工隊作者: Aaron主頁: http://www.wxtlife.com/原...
    技術(shù)特工隊閱讀 4,361評論 0 28
  • JVM內(nèi)存區(qū)域 JVM將其管理的內(nèi)存分為若干數(shù)據(jù)區(qū)域宁玫,這些數(shù)據(jù)區(qū)域分布情況如下圖所示: 程序計數(shù)器:一塊較小內(nèi)存區(qū)...
    luoxn28閱讀 693評論 0 0
  • 如果你想要從太空觀察地球坏匪,衛(wèi)星技術(shù)就能夠做到這一點。圖中的海洋流是衛(wèi)星地圖展現(xiàn)的撬统,紫色和粉紅色的漩渦代表更暖的洋流...
    allever閱讀 1,393評論 0 8