亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js的新生代垃圾回收知識點(diǎn)總結(jié)

 更新時(shí)間:2019年08月22日 16:25:20   作者:張啊咩  
在本篇文章里小編給大家整理的是關(guān)于js的新生代垃圾回收的相關(guān)知識點(diǎn)內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。

在進(jìn)行老生代的標(biāo)記清除法回收以前,還會有一個新生代的垃圾回收算法執(zhí)行。

新生代和老生代

所謂新生代,指的是新產(chǎn)生的對象;老生代就是經(jīng)歷過新生代垃圾回收后還“存活”下來的對象。

新生代的垃圾回收算法 Scavenge GC

算法很簡單:

1. 我們維護(hù)一個列表,老生代對象每次指向一個新生對象的時(shí)候,記錄下來;每次刪除指向的時(shí)候,刪除記錄。(這樣我們就知道新生代對象里面,哪些對象是存活的了)

2. 我們把新生代對象的內(nèi)存平均分開 2 份空間From 和 To

3. 每當(dāng)有新生對象誕生,就會在 From 空間出現(xiàn)

4. 一旦 From 空間被占滿,就觸發(fā) Scavenge GC

5. 根據(jù)維護(hù)的列表,我們從 From 空間拿出存活的對象,復(fù)制到 To 空間

6. 清空 From 空間 (這樣就可以實(shí)現(xiàn)把不活躍的對象給回收掉)

7. From To 空間角色互換,開始下一輪循環(huán)

其中經(jīng)歷過回收還存活的對象,age++,在 Java 默認(rèn)情況下,age 15 的時(shí)候會晉升到老生代,JS 規(guī)定的 age,博主還沒查明

還有一種情況,當(dāng)復(fù)制到 To 空間的時(shí)候, To 空間已經(jīng)使用了25%,那么這個對象直接晉升到老生區(qū)。

以上對js的新生代垃圾回收淺析做了簡單的介紹,感謝大家的閱讀和對腳本之家的支持。

相關(guān)文章

最新評論