小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

垃圾回收算法有幾種類型? 他們對(duì)應(yīng)的優(yōu)缺點(diǎn)又是什么?

 小仙女本仙人 2021-04-30

常見的垃圾回收算法有:

標(biāo)記-清除算法、復(fù)制算法、標(biāo)記-整理算法、分代收集算法

標(biāo)記-清除算法

標(biāo)記—清除算法包括兩個(gè)階段:“標(biāo)記”和“清除”。 標(biāo)記階段:確定所有要回收的對(duì)象,并做標(biāo)記。 清除階段:將標(biāo)記階段確定不可用的對(duì)象清除。

缺點(diǎn):

標(biāo)記和清除的效率都不高。
會(huì)產(chǎn)生大量的碎片,而導(dǎo)致頻繁的回收。

復(fù)制算法

內(nèi)存分成大小相等的兩塊,每次使用其中一塊,當(dāng)垃圾回收的時(shí)候, 把存活的對(duì)象復(fù)制到另一塊上,然后把這塊內(nèi)存整個(gè)清理掉。

缺點(diǎn):

需要浪費(fèi)額外的內(nèi)存作為復(fù)制區(qū)。
當(dāng)存活率較高時(shí),復(fù)制算法效率會(huì)下降。

標(biāo)記-整理算法

標(biāo)記—整理算法不是把存活對(duì)象復(fù)制到另一塊內(nèi)存,而是把存活對(duì)象往內(nèi)存的一端移動(dòng),然后直接回收邊界以外的內(nèi)存。

缺點(diǎn): 算法復(fù)雜度大,執(zhí)行步驟較多

分代收集算法

目前大部分 JVM 的垃圾收集器采用的算法。根據(jù)對(duì)象存活的生命周期將內(nèi)存劃分為若干個(gè)不同的區(qū)域。一般情況下將堆區(qū)劃分為新生代( Young Generation 和老年代( Tenured Generation ),永久代( Permanet Generation )。

老年代的特點(diǎn)是每次垃圾收集時(shí)只有少量對(duì)象需要被回收,而新生代的特點(diǎn)是每次垃圾回收時(shí)都有大量的對(duì)象需要被回收,那么就可以根據(jù)不同代的特點(diǎn)采取最適合的收集算法。

Young:存放新創(chuàng)建的對(duì)象,對(duì)象生命周期非常短,幾乎用完可以立即回收,也叫 Eden 區(qū)。

Tenured: young 區(qū)多次回收后存活下來的對(duì)象將被移到 tenured 區(qū),也叫 old 區(qū)。

Perm:永久帶,主要存加載的類信息,生命周期長(zhǎng),幾乎不會(huì)被回收。

缺點(diǎn): 算法復(fù)雜度大,執(zhí)行步驟較多。

本文由博客群發(fā)一文多發(fā)等運(yùn)營(yíng)工具平臺(tái) OpenWrite 發(fā)布

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多