JVM垃圾回收思维导图:一. 基本思想

前言

《JVM垃圾回收思维导图》 系列专题:

  • 整理了JVM垃圾回收的基本思想与实现方式
  • Java版本为JDK11
  • 参考书籍为《深入理解Java虚拟机》2020年第三版

系列分为如下几块:

《JVM垃圾回收思维导图:一. 基本思想》
《JVM垃圾回收思维导图:二. 理论算法》
《JVM垃圾回收思维导图:三. HotSpot垃圾回收算法与实现》

基础知识回顾

  之前我们学习了JVM虚拟机的内存区域,可以知道JVM内部分为几块内存区域,每块内存区域有自己的用处。

具体知识可见:《JVM虚拟机内存区域》

一. JVM垃圾回收基本思想

JVM的内存区域在Java程序运行时,一直发生变化,与CPU等硬件进行着频繁的数据交换与计算。

  • 随着Java程序的运行,这些内存区域可能会出现一些不再有用的内存空间;
  • 内存资源是宝贵的,虚拟机需要释放掉这些无用的内存空间,回收资源,好保证Java程序长久稳定的运行。
    • 准确的辨别哪些区域是没用的内存区域
    • 尽快的回收,回收尽可能的不影响Java服务程序
    • 回收后的资源再利用

二、可以回收的内存空间------垃圾回收的对象+对象“死亡”判定

JVM垃圾回收思维导图:一. 基本思想_第1张图片

三、JVM的引用类型-------标记算法中的回收强度

在JVM中,每个对象不是简单的“引用Y/没有引用N”非此即彼的两种情况,而是细分了以下四种,每种类型都有自己的回收策略:
JVM垃圾回收思维导图:一. 基本思想_第2张图片

四、对象回收流程

JVM垃圾回收思维导图:一. 基本思想_第3张图片

你可能感兴趣的:(#,JVM思维导图)