溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

常用的垃圾回收算法有幾種

發布時間:2020-05-30 11:35:18 來源:億速云 閱讀:281 作者:鴿子 欄目:編程語言

常用四種垃圾回收算法

常用的垃圾回收算法有四種:標記-清除算法、復制算法、標記-整理算法、分代收集算法。

1.標記-清除算法

分為標記和清除兩個階段,首先標記出所有需要回收的對象,標記完成后統一回收所有被標記的對象,如下圖。

缺點:標記和清除兩個過程效率都不高;標記清除之后會產生大量不連續的內存碎片。

2.復制算法

把內存分為大小相等的兩塊,每次存儲只用其中一塊,當這一塊用完了,就把存活的對象全部復制到另一塊上,同時把使用過的這塊內存空間全部清理掉,往復循環,如下圖。

缺點:實際可使用的內存空間縮小為原來的一半,比較適合。

3.標記-整理算法

先對可用的對象進行標記,然后所有被標記的對象向一段移動,最后清除可用對象邊界以外的內存,如下圖。

4.分代收集算法

把堆內存分為新生代和老年代,新生代又分為 Eden 區、From Survivor 和 To Survivor。一般新生代中的對象基本上都是朝生夕滅的,每次只有少量對象存活,因此采用復制算法,只需要復制那些少量存活的對象就可以完成垃圾收集;老年代中的對象存活率較高,就采用標記-清除和標記-整理算法來進行回收。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女