JVM——分代收集算法與分區收集算法

JVM——分代收集算法與分區收集算法
  1. 分代收集算法

    概念:根據對象的不同類型將內存劃分爲不同的區域,JVM將堆劃分爲新生代、老年代和永久代,並根據各個年代的特點分別採用不同的GC算法

    • 新生代——負責算法

    • 老年代——標記整理算法

    特點 適用算法
    新生代 對象生命週期短,標記階段會標記大量已死亡對象 複製算法
    老年代 生命週期長的對象、大對象,可回收數量少 標記整理算法
    永久代 存儲Class類、常量、方法描述等 回收廢棄的常量無用的類
  2. 分區收集算法

    概念:將整個堆空間劃分爲連續的大小不同的小區域,每個小區域單獨進行內存使用和垃圾回收,這樣做的好處是可以根據每個小區域內存的大小靈活使用和釋放內存。

    根據系統可接受的停頓時間,每次都快速回收若干個小區域,從而減少一次GC所產生的的停頓時間,最後以多次並行累加的方式逐步完成整個內存區域的垃圾回收。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章