中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

(JVM)對JVM三色標(biāo)記算法的理解-創(chuàng)新互聯(lián)

對三色標(biāo)記算法的理解
  • 前提
    • 對JVM對象存活判定
      • 引用計(jì)數(shù)法
      • 可達(dá)性分析
    • 三色標(biāo)計(jì)算法的標(biāo)記流程
      • 第一次初始標(biāo)記
      • 第二次標(biāo)記,
      • 重復(fù)標(biāo)記階段
      • 掃描完成

10年積累的網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有無極免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。前提

自從接觸java開始就了解到j(luò)vm,但是沒怎么系統(tǒng)的了解過,所以從今天開始就記錄下個(gè)人對jvm相關(guān)的理解,

對JVM對象存活判定 引用計(jì)數(shù)法
  1. 引用計(jì)數(shù)(Reference Count)是一個(gè)簡單而有效的管理對象生命周期的方式。當(dāng)我們創(chuàng)建一個(gè)新對象的時(shí)候,它的引用計(jì)數(shù)為 1,當(dāng)有一個(gè)新的指針指向這個(gè)對象時(shí),我們將其引用計(jì)數(shù)加 1,當(dāng)某個(gè)指針不再指向這個(gè)對象是,我們將其引用計(jì)數(shù)減 1,當(dāng)對象的引用計(jì)數(shù)變?yōu)?0 時(shí),說明這個(gè)對象不再被任何指針指向了,這個(gè)時(shí)候我們就可以將對象銷毀,回收內(nèi)存。由于引用計(jì)數(shù)簡單有效。
  2. 可以發(fā)現(xiàn)由這個(gè)邏輯來想:
    當(dāng)兩個(gè)對象a和對象b ,互相引用對方作為自己的成員變量,成員變量隨著對象的創(chuàng)建而存在,隨著對象被回收而釋放。,也就是說只有在當(dāng)前變量銷毀時(shí),才會對成員變量的引用計(jì)數(shù)減一, 可以理解為,對象A的銷毀依賴著對象B的銷毀,對象B的銷毀依賴者對象A的銷毀,這樣就產(chǎn)生了循環(huán)引用。即使外部沒有指針能夠訪問他們,但是對象a和b依然不能被釋放.
可達(dá)性分析
  1. 為了解決這個(gè)問題,java使用了可達(dá)性分析的方法,通過一系列的“GC Roots” 對象作為起點(diǎn)搜索。
    如果在DC Roots 和一個(gè)對象之間沒有可達(dá)性路行,則稱該對象是不可達(dá)的,需要注意的是 不可達(dá)對象不等價(jià)于可回收對象,不可達(dá)對象標(biāo)為可回收對象至少要經(jīng)歷兩次標(biāo)記過程, 兩次標(biāo)記后仍然是可回收對象,則將面臨回收

  2. 可作為gc roots的對象有

    1. java虛擬機(jī)棧(棧幀的本地變量表)中引用的對象
    2. 本地方法棧中JNI引用對象
    3. 方法區(qū)中常量。類靜態(tài)屬性引用的對象
三色標(biāo)計(jì)算法的標(biāo)記流程

在這里插入圖片描述

根據(jù)可達(dá)性分析算法,從roots開始進(jìn)行遍歷訪問。初始狀態(tài),所有對象都是白色的,只有GC Roots是黑色的

在這里插入圖片描述

第一次初始標(biāo)記

GC Roots 標(biāo)記直接關(guān)聯(lián)對象置為灰色
在這里插入圖片描述

第二次標(biāo)記,

初始標(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)

外貿(mào)網(wǎng)站建設(shè)
禹城市| 板桥市| 峨眉山市| 霍山县| 武功县| 托克托县| 山阴县| 南宁市| 正蓝旗| 昭通市| 富锦市| 昌平区| 盖州市| 金溪县| 罗定市| 法库县| 公主岭市| 繁昌县| 吉木乃县| 华安县| 八宿县| 太保市| 南皮县| 达尔| 平潭县| 高雄市| 万宁市| 缙云县| 三原县| 焉耆| 华安县| 沿河| 仁布县| 峡江县| 宁津县| 福泉市| 曲沃县| 富顺县| 吉林市| 丰原市| 花莲市|