如何確定JVM堆中哪些對象是可以被回收的

垃圾回收器在對堆進(jìn)行回收之前所坯,需要確定堆中哪些對象是可以繼續(xù)存活的晒骇,哪些是可以被回收的纳胧,Java采用可達(dá)性分析算法來判定對象是否可以繼續(xù)存活镰吆。

這個算法的過程是通過一系列的稱為“GC Roots”的對象作為起點,從這些起始點開始向下搜索跑慕,搜索過程中所有走過的路徑稱為引用鏈鼎姊,當(dāng)一個對象和引用鏈沒任何連接的時候,則表明這個對象是可以被回收的相赁。

可作為“GC Roots”對象的有如下幾種:

Java虛擬機(jī)棧(棧幀中的本地變量表)中引用的對象相寇;

本地方法棧中JNI(即一般說的Native方法)引用的對象;

方法區(qū)中類靜態(tài)屬性引用的對象钮科;

方法區(qū)中常量引用的對象唤衫。

還有一個用于標(biāo)識哪些對象可以被回收的算法,不過這個算法并沒有被Java語言采用绵脯,即引用計數(shù)法佳励。這個算法的過程是:給每個對象添加一個引用計數(shù)器,每當(dāng)這個對象被引用一次蛆挫,計數(shù)器加一赃承;每當(dāng)這個對象引用失效的時候,計數(shù)器減一悴侵;引用計數(shù)器為零的對象表示是可以被回收的對象瞧剖。雖然這個算法很簡單,但是它無法解決對象之間互相循環(huán)引用的問題可免,所以Java沒有采用抓于。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市浇借,隨后出現(xiàn)的幾起案子捉撮,更是在濱河造成了極大的恐慌,老刑警劉巖妇垢,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件巾遭,死亡現(xiàn)場離奇詭異肉康,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)灼舍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門迎罗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人片仿,你說我怎么就攤上這事纹安。” “怎么了砂豌?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵厢岂,是天一觀的道長。 經(jīng)常有香客問我阳距,道長塔粒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任筐摘,我火速辦了婚禮卒茬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咖熟。我一直安慰自己圃酵,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布馍管。 她就那樣靜靜地躺著郭赐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪确沸。 梳的紋絲不亂的頭發(fā)上捌锭,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機(jī)與錄音罗捎,去河邊找鬼观谦。 笑死,一個胖子當(dāng)著我的面吹牛桨菜,可吹牛的內(nèi)容都是我干的豁状。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼雷激,長吁一口氣:“原來是場噩夢啊……” “哼替蔬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起屎暇,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驻粟,沒想到半個月后根悼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凶异,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年挤巡,在試婚紗的時候發(fā)現(xiàn)自己被綠了剩彬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡矿卑,死狀恐怖喉恋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情母廷,我是刑警寧澤轻黑,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站琴昆,受9級特大地震影響氓鄙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜业舍,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一抖拦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舷暮,春花似錦态罪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诸狭,卻和暖如春券膀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驯遇。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工芹彬, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叉庐。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓舒帮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親陡叠。 傳聞我的和親對象是個殘疾皇子玩郊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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

  • 1.什么是垃圾回收? 垃圾回收(Garbage Collection)是Java虛擬機(jī)(JVM)垃圾回收器提供...
    簡欲明心閱讀 89,412評論 17 311
  • 這篇文章是我之前翻閱了不少的書籍以及從網(wǎng)絡(luò)上收集的一些資料的整理枉阵,因此不免有一些不準(zhǔn)確的地方译红,同時不同JDK版本的...
    高廣超閱讀 15,545評論 3 83
  • 作者:一字馬胡 轉(zhuǎn)載標(biāo)志 【2017-11-12】 更新日志 日期更新內(nèi)容備注 2017-11-12新建文章初版 ...
    beneke閱讀 2,184評論 0 7
  • JVM架構(gòu) 當(dāng)一個程序啟動之前,它的class會被類裝載器裝入方法區(qū)(Permanent區(qū))兴溜,執(zhí)行引擎讀取方法區(qū)的...
    cocohaifang閱讀 1,648評論 0 7
  • 職場上就講究配合诗宣,最重視人脈。正所謂朝中有人好辦事想诅,眾人拾柴火焰高召庞。所以,職場中打拼的人来破,平時一般都比較重視人脈的...
    點躍在線HR商學(xué)院閱讀 310評論 0 0