国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js的新生代垃圾回收知識點總結

2024-05-06 15:35:40
字體:
來源:轉載
供稿:網友

在進行老生代的標記清除法回收以前,還會有一個新生代的垃圾回收算法執行。

新生代和老生代

所謂新生代,指的是新產生的對象;老生代就是經歷過新生代垃圾回收后還“存活”下來的對象。

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

算法很簡單:

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

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

3. 每當有新生對象誕生,就會在 From 空間出現

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

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

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

7. From To 空間角色互換,開始下一輪循環

其中經歷過回收還存活的對象,age++,在 Java 默認情況下,age 15 的時候會晉升到老生代,JS 規定的 age,博主還沒查明

還有一種情況,當復制到 To 空間的時候, To 空間已經使用了25%,那么這個對象直接晉升到老生區。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 安岳县| 民权县| 交口县| 南投市| 平邑县| 东方市| 揭阳市| 平远县| 蛟河市| 庆云县| 孝义市| 江安县| 南开区| 海淀区| 永年县| 辉南县| 南陵县| 无为县| 潞城市| 清河县| 托克托县| 临泉县| 运城市| 泉州市| 饶河县| 年辖:市辖区| 莱阳市| 拉萨市| 日喀则市| 互助| 高清| 金秀| 方山县| 都安| 西林县| 阳城县| 麻城市| 彰武县| 五华县| 延长县| 十堰市|