日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
面試官:咱們今天就淺談JVM三色標(biāo)記法,我:這也問?

1.前言

三色標(biāo)記算法,用于垃圾回收器升級,將STW變?yōu)椴l(fā)標(biāo)記。STW就是在標(biāo)記垃圾的時候,必須暫停程序,而使用并發(fā)標(biāo)記,就是程序一邊運行,一邊標(biāo)記垃圾。

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作與策劃設(shè)計,泗陽網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:泗陽等地區(qū)。泗陽做網(wǎng)站價格咨詢:18982081108

2. 三色標(biāo)記算法

2.1.什么是三色:

首先我們需要知道三色標(biāo)記法就是根據(jù)可達(dá)性分析,從GC Roots開始進(jìn)行遍歷訪問,在遍歷對象過程中,按“是否檢查過”這個條件將對象標(biāo)記成三種顏色:

  • 黑色: 代表對象已經(jīng)檢查過,且成員對象也被檢查過了。如果有其他對象引用指向了黑色對象,無須重新檢查一遍。黑色對象不可能直接(不經(jīng)過灰色對象)指向某個白色對象。
  • 灰色代表對象已經(jīng)檢查過,但成員還沒全部檢查完成
  • 白色代表對象沒有被檢查。 在可達(dá)性分析剛剛開始的階段, 所有的對象都是白色的, 若在分析結(jié)束的階段, 仍然是白色的對象, 即代表不可達(dá)。

2.2.三色標(biāo)記過程:

假設(shè)現(xiàn)在有白、灰、黑三個集合(表示當(dāng)前對象的顏色),其遍歷訪問過程為:

  1. 初始時,所有對象都在【白色集合】中;
  2. 將 GC Roots直接引用到的對象挪到【灰色集合】中;
  3. 從灰色集合中獲取對象:

3.1. 將本對象引用到的其他對象全部挪到【灰色集合】中;

3.2. 將本對象挪到【黑色集合】里面。

  1. 重復(fù)步驟3,直至【灰色集合】為空時結(jié)束。
  2. 結(jié)束后,仍在【白色集合】的對象即為GC Roots不可達(dá),可以進(jìn)行回收。

需要注意,傳統(tǒng)標(biāo)記方式發(fā)生Stop The World時,對象間的引用是不會發(fā)生變化的,可以輕松完成標(biāo)記。

而并發(fā)標(biāo)記在標(biāo)記期間應(yīng)用線程還在繼續(xù)跑,對象間的引用可能發(fā)生變化,就會出現(xiàn)錯標(biāo)和漏標(biāo)的情況就有可能發(fā)生。

3.存在的問題

3.1.浮動垃圾:標(biāo)記過不是垃圾的,變成了垃圾

并發(fā)標(biāo)記的過程中,若一個已經(jīng)被標(biāo)記成黑色或者灰色的對象,突然變成了垃圾,此時,此對象不是白色的不會被清除,重新標(biāo)記也不能從GC Root中去找到,所以成為了浮動垃圾,這種情況對系統(tǒng)的影響不大,留給下一次GC進(jìn)行處理即可。

3.2.對象漏標(biāo)問題:需要的對象被回收

并發(fā)標(biāo)記的過程中,一個業(yè)務(wù)線程將一個未被掃描過的白色對象斷開引用成為垃圾(刪除引用),同時黑色對象引用了該對象(增加引用)(這兩部可以不分先后順序);

因為黑色對象的含義為其屬性都已經(jīng)被標(biāo)記過了,重新標(biāo)記也不會從黑色對象中去找,導(dǎo)致該對象被程序所需要,卻又要被GC回收,此問題會導(dǎo)致系統(tǒng)出現(xiàn)問題。

4.總結(jié)

三色標(biāo)記算法是根可達(dá)算法的一種實現(xiàn)方案,其目的是為了找出所有可達(dá)對象。三色標(biāo)記算法會產(chǎn)生多標(biāo)和漏標(biāo)問題,其中漏標(biāo)問題最嚴(yán)重。漏標(biāo)問題會導(dǎo)致本該存活的對象被回收,從而導(dǎo)致嚴(yán)重的程序問題。


網(wǎng)站題目:面試官:咱們今天就淺談JVM三色標(biāo)記法,我:這也問?
網(wǎng)址分享:http://m.5511xx.com/article/dpipgsd.html