自從接觸java開始就了解到j(luò)vm,但是沒怎么系統(tǒng)的了解過,所以從今天開始就記錄下個(gè)人對jvm相關(guān)的理解,
對JVM對象存活判定 引用計(jì)數(shù)法為了解決這個(gè)問題,java使用了可達(dá)性分析的方法,通過一系列的“GC Roots” 對象作為起點(diǎn)搜索。
如果在DC Roots 和一個(gè)對象之間沒有可達(dá)性路行,則稱該對象是不可達(dá)的,需要注意的是 不可達(dá)對象不等價(jià)于可回收對象,不可達(dá)對象標(biāo)為可回收對象至少要經(jīng)歷兩次標(biāo)記過程, 兩次標(biāo)記后仍然是可回收對象,則將面臨回收
可作為gc roots的對象有
根據(jù)可達(dá)性分析算法,從roots開始進(jìn)行遍歷訪問。初始狀態(tài),所有對象都是白色的,只有GC Roots是黑色的
第一次初始標(biāo)記GC Roots 標(biāo)記直接關(guān)聯(lián)對象置為灰色
初始標(biāo)記后,進(jìn)行并發(fā)標(biāo)記,掃描整個(gè)引用鏈。沒有子節(jié)點(diǎn)的話,將本節(jié)點(diǎn)變?yōu)楹谏?,有子?jié)點(diǎn)的話,則將當(dāng)前節(jié)點(diǎn)標(biāo)為黑色,子節(jié)點(diǎn)變?yōu)榛疑?br />
重復(fù)標(biāo)記階段直至灰色對象沒有其他子節(jié)點(diǎn)引用時(shí)結(jié)束。
此時(shí)黑色對象就是存活的對象,白色對象就是已消亡可回收的對象
即(A,D,E,F,G) 可達(dá)也就是存活對象,(B,C,H) 不可達(dá)可回首的對象
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站欄目:(JVM)對JVM三色標(biāo)記算法的理解-創(chuàng)新互聯(lián)
地址分享:http://www.rwnh.cn/article0/dgssoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、域名注冊、品牌網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、靜態(tài)網(wǎng)站、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容