當前位置:
首頁 >
JVM之垃圾收集机制四种GC算法详解
發布時間:2024/2/28
51
豆豆
生活随笔
收集整理的這篇文章主要介紹了
JVM之垃圾收集机制四种GC算法详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JVM之四種GC算法詳解
目錄:
1. 什么是GC?
先看圖:
GC是分代收集算法(更為專業)
Minor GC 和 Full GC的區別
2. GC算法之引用計數法
即當對象的引用為0的時候會被回收。
3. GC算法之復制算法(Copying)
(1)概述:
(2)原理
(3)復制算法的缺點:
4. GC算法之標記清除(Mark-Sweep)
(1)概述:
(2)原理
當堆中的有效內存空間(available memory)被耗盡的時候,就會停止整個程序(也被稱為stop the world),然后進行兩項工作,第一項則是標記,第二項則是清除。
(3)標記清除算法的缺點
用通俗的話解釋一下標記清除算法,就是當程序運行期間,若可以使用的內存被耗盡的時候,GC線程就會被觸發并將程序暫停,隨后將依舊存活的對象標記一遍,最終再將堆中所以沒被標記的對象全部清除掉,接下來便讓程序恢復運行。
(4)簡單圖:
5. GC算法之標記壓縮(Mark-Compact)
(1)概述:
(2)原理
(3)標記壓縮算法的缺點:
1.標記整理算法的唯一的缺點就是效率也不高,不僅要標記所有存活對象,還要整理所有存活對象的引用地址。從效率上來說,標記整理算法要低于復制算法。
6. GC算法之標記清除壓縮(Mark-Sweep-Compact)
(1)概念:
流程圖:
7. 小結
總結
以上是生活随笔為你收集整理的JVM之垃圾收集机制四种GC算法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM之堆Heap参数调优入门
- 下一篇: IDEA设置自定义代码模板