原理:通过一系列被称为"GC Roots''的对象作为起始点,从这些节点向下搜索,搜索所走过的路径叫做引用链,当一个节点到GC Roots没有任何引用链时,证明该对象不可用了。
说明:
(2.1)、红色代表不可达对象(可回收对象)
(2.2)、千万注意!!!!!上图并不是说方法区全可达,虚拟机栈部分可达,
本地方法栈全部不可达,而只是为了说明这三个部分可以作为GC
Roots!
在Java中,可以被作为GC Roots的对象有以下几种:
1.虚拟机栈中引用的对象(栈帧中的引用变量表)
2.方法区中类静态属性引用的对象
3.方法区中常量引用的对象
4.本地方法栈中Native方法(JNI)引用的对象
假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html