第二講 GC(垃圾回收)算法

1. 標記——刪除

    將不再使用的對象內存空間標記,等JVM內存滿了,就將標記清除。

2. 複製

     把內存空間劃分爲2個相等的區域,每次只使用一個區域。垃圾回收時,遍歷當前使用區域,把正在使用的對象複製到另外一個區域。    

 3. 標記——整理

   將不再使用的對象標記,將正在使用的對象複製並整理到一塊,並將標記的內存刪除。




年輕代GC:

   對象存活時間段,回收比較頻繁的區域,主要是Eden區域、FromSpace、ToSpace之間的copy。


老年代GC:

   對象存活時間長,不經常回收的區域。


向老年代GC存放對象的幾種情況:

1.  設置一個閾值,當某個對象在FromSpace與ToSpace 之間的copy次數超過閾值後,就將該對象放入老年代GC。

2.  若某個對象大小超過年輕代設置的所允許的對象大小後,就將該對象直接放入老年代存放。


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