上一篇:
了解 JVM和JVM内存结构(JVM运行时数据区)
上一篇博客我们对JVM的内存结构有了一个简单的认识,我们都知道Java是有GC自动对内存进行回收的,那GC到底是怎么工作的,对象在什么时候会被回收呢?
本篇博客我们就来了解一下GC;
GC
Garbage Collector :垃圾收集器
顾名思义,就是专门收集垃圾的。
什么是垃圾
简单来讲,没有任何引用指向的对象(没有任何用处的对象),就是垃圾,要被回收掉。
怎么判断一个对象是不是垃圾
引用计数器法
简单将就是一个对象每被另一个对象所引用,则计数器+1,解除引用后-1,如果一个对象的引用计数器为0,则视为垃圾。
根可达性分析法
根:又叫做 GC roots
先来看看JVM内存模型中哪些属于GC roots
- 虚拟机栈
- 本地方法
- 常量池
- 方法区中