java通过可达性分析来判断对象是否存活。
基本思想是通过一系列称为“GC roots”的对象作为起始点,可以作为根节点的是:
- 虚拟机栈(栈帧中的本地变量表)中引用的对象
- 本地方法栈中JNI(即一般说的Native方法)引用的对象
- 方法区中类静态属性引用的对象
- 方法区中常量引用的对象
虚拟机、本地方法栈这都是局部变量,某个方法执行完,某些局部使用的对象可以被回收。
本文介绍Java中通过可达性分析判断对象是否存活的方法。从GC Roots出发,包括虚拟机栈、本地方法栈、方法区中的静态属性及常量引用等,探讨了对象的生命周期及其回收条件。
1561
1103
496

被折叠的 条评论
为什么被折叠?