在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js 垃圾收集 標記清除過程

js 垃圾收集 標記清除過程

原文:垃圾收集器在運行的時候會給存儲在內存中的所有變量都加上標記(當然,可以使用任何標記方式)。然后,它會去掉環(huán)境中的變量以及被環(huán)境中的變量引用的變量的標記。而在此之后再被加上標記的變量將被視為準備刪除的變量,原因是環(huán)境中的變量已經(jīng)無法訪問到這些變量了。最后,垃圾收集器完成內存清除工作,銷毀那些帶標記的值并回收它們所占用的內存空間。

根本理解不了這段話的邏輯,“在此之后再被加上標記的變量將被視為準備刪除的變量”,如果從根結點開始,那它的子節(jié)點再訪問父屬性加上了標記,明明可以訪問到怎么說無法訪問阿?而且遍歷作用域鏈的話每個節(jié)點都會清除標記阿,為什么會再加上標記?求形象解釋一下這個過程

回答
編輯回答
哎呦喂

引用還在不會清除標記

2018年3月6日 18:23
編輯回答
維她命

垃圾收集器中有倆次判斷變量是否要被收集。如果這倆次沒逃脫掉,那就肯定要被收集的。
一是變量未被引用,二是已經(jīng)執(zhí)行過finalize方法。。。
也就是倆次標記,具體可以查下Jvm垃圾收集算法。

2017年10月25日 23:09