Jvm(21),如何定义为垃圾对象----可达性分析法

原理:通过一系列被称为"GC Roots''的对象作为起始点,从这些节点向下搜索,搜索所走过的路径叫做引用链,当一个节点到GC Roots没有任何引用链时,证明该对象不可用了。

说明:

(2.1)、红色代表不可达对象(可回收对象)

(2.2)、千万注意!!!!!上图并不是说方法区全可达,虚拟机栈部分可达,

本地方法栈全部不可达,而只是为了说明这三个部分可以作为GC

Roots!

在Java中,可以被作为GC Roots的对象有以下几种:

1.虚拟机栈中引用的对象(栈帧中的引用变量表)

2.方法区中类静态属性引用的对象

3.方法区中常量引用的对象

4.本地方法栈中Native方法(JNI)引用的对象

猜你喜欢

转载自www.cnblogs.com/qingruihappy/p/9691359.html