【JDK】各個版本垃圾收集器


  G1收集器(Garbage First)是Java虛擬機中垃圾收集器的一種。
  G1收集器是Java虛擬機的垃圾收集器理論進一步發展的產物,它與前面的CMS收集器相比有兩個顯著的改進:一是G1收集器是基於“標記-整理”算法實現的收集器,也就是說它不會產生空間碎片,這對於長時間運行的應用系統來說非常重要。二是它可以非常精確地控制停頓,既能讓使用者明確指定在一個長度為M毫秒的時間片段內,消耗在垃圾收集上的時間不得超過N毫秒,具備了一些實時Java(RTSJ)的垃圾收集器的特征。
  G1收集器可以實現在基本不犧牲吞吐量的前提下完成低停頓的內存回收,這是由於它能夠極力地避免全區域的垃圾收集,之前的收集器進行收集的范圍都是整個新生代或老年代,而G1將整個Java堆(包括新生代、老年代)划分為多個大小固定的獨立區域(Region),並且跟蹤這些區域里面的垃圾堆積程度,在后台維護一個優先列表,每次根據允許的收集時間,優先回收垃圾最多的區域(這就是Garbage First名稱的來由)。區域划分及有優先級的區域回收,保證了G1收集器在有限的時間內可以獲得最高的收集效率。
  G1收集器已在JDK 1.7 u4版本正式投入使用。

 


免責聲明!

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



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