JVM垃圾回收一:基本思想------思维导图
前言
上一章我们了解了JVM虚拟机的内存区域,可以知道JVM内部分为几块内存区域,每块内存区域有自己的用处。
具体知识可见:《JVM虚拟机内存区域》
JVM垃圾回收思想
JVM的内存区域在Java程序运行时,一直发生变化,与CPU等硬件进行着频繁的数据交换与计算。
- 随着Java程序的运行,这些内存区域可能会出现一些不再有用的内存空间;
- 内存资源是宝贵的,虚拟机需要释放掉这些无用的内存空间,回收资源,好保证Java程序长久稳定的运行。
- 准确的辨别哪些区域是没用的内存区域
- 尽快的回收,回收尽可能的不影响Java服务程序
- 回收后的资源再利用
一、可以回收的内存空间------垃圾回收的对象+对象“死亡”判定
二、JVM的引用类型-------标记算法中的回收强度
在JVM中,每个对象不是简单的“引用Y/没有引用N”非此即彼的两种情况,而是细分了以下四种,每种类型都有自己的回收策略:
三、对象回收流程
四、垃圾回收算法
参见文章《JVM垃圾回收二:算法实现------思维导图》