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

前言

上一章我们了解了JVM虚拟机的内存区域,可以知道JVM内部分为几块内存区域,每块内存区域有自己的用处。

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

JVM垃圾回收思想

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

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

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

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

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

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

三、对象回收流程

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

四、垃圾回收算法

参见文章《JVM垃圾回收二:算法实现------思维导图