jvm GC 分區與分代收集算法


1.分代收集算法

  根據對象存活周期的不同將內存划分為幾塊,入JVM中的新生代,老年代,永久代,這樣就可以根據各年代特點分別采用最適當的GC算法

  1.1在新生代使用復制算法: 因為新生代每次垃圾收集都能發現大批的對象已死,只有少量存活,因此選用復制算法,只需要付出少量存活對象的復制成本就可以完成收集.

  1.2在老年代使用標記整理算法:因為對象存活率高,沒有額外空間對它進行分配擔保,就必須采用”標記-清理“或者”標記-整理“算法來進行回收,不必進行內存復制,直接騰出空閑內存

2.分區收集算法

  分區算法則將整個堆空間划分為連續的不同小區間, 每個小區間獨立使用, 獨立回收

  這樣可以控制一次回收多少個小區間 , 根據目標停頓時間, 每次合理地回收若干個小區間(而不是整個堆), 從而減少一次GC 所產生的停頓。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM