天天看點

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

2.垃圾回收概述

2.1.垃圾回收算法

2.1.1.垃圾回收算法-标記清除算法

2.1.2.垃圾回收算法–複制算法

2.1.3.垃圾回收算法–标記整理算法和分代收集算法

2.1.4.垃圾回收算法–Serial收集器詳解

2.1.5.垃圾回收算法–Parnew收集器詳解

2.1.6.垃圾回收算法–Parallel收集器詳解

2.1.7.垃圾回收算法–CMS收集器詳解

2.1.8.最牛的垃圾回收集器–g1收集器詳解

2.垃圾回收概述

對象什麼時候才能變成垃圾。

如何判定對象為垃圾對象。

關于垃圾回收的三個問題:

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

分代收集算法。

2.1.垃圾回收算法

2.1.1.垃圾回收算法-标記清除算法

問題:效率問題

2.1.2.垃圾回收算法–複制算法

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

新生代裡面的三個區域的用途。

記憶體占比:

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

複制算法主要針對新生代的算法。針對老年代,效率很低。

2.1.3.垃圾回收算法–标記整理算法和分代收集算法

主要針對老年代的。

針對:頻率不高,很少的情況。

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

讓回收的,往右。

分代收集算法:根據新生代和老年代采用不同的算法。

2.1.4.垃圾回收算法–Serial收集器詳解

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述
2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

2.1.5.垃圾回收算法–Parnew收集器詳解

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

多個線程去收集垃圾

2.1.6.垃圾回收算法–Parallel收集器詳解

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

上圖中的下面兩個參數為了”控制吞吐量”。

都是多線程收集器

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

為了降低中間的那段時間。

吞吐量:CPU用于運作使用者代碼的時間與CPU消耗的總時間桌面。

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

2.1.7.垃圾回收算法–CMS收集器詳解

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

标記清除算法

記憶體碎片。

性能非常低。

老年代收集器。

CMS是一個并發收集器

CMS的關注點也主要是

工作過程是:

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

初始标記:

引用計數法。

可達性分析法。

缺點:

1、占用大量的CPU資源

2.1.8.最牛的垃圾回收集器–g1收集器詳解

優勢:

1、并行與并發

2、分代收集

3、空間整合

4、可預測的停頓

2、垃圾回收算法(标記清除算法、複制算法、标記整理算法和分代收集算法),各種垃圾收集器講解(學習筆記)2.垃圾回收概述

步驟:

1、初始标記(并行的)

2、并發标記

3、最終标記

4、篩選回收

查找什麼是Remember set

通過一張表的方式。

繼續閱讀