为什么栈中引用的对象可以作为GC Root?

来源:7-1 垃圾回收之标记算法

why779715974

2020-05-02

在网上看到一段话:从程序的角度来说就是,找到一段程序运行的整个过程中,始终会存活对象,这些对象的特点是始终会存活,不会死亡。即一些静态变量 和常量所引用的对象等。从这些对象开始分析衍生对象。
按这样理解的话,栈中引用的对象作用范围都在一个方法内,那为什么还要存活时间短的对象作为Rott呢?
简单来说就是:为什么以虚拟机栈中引用的对象作为GC Root?

写回答

1回答

翔仔

2020-05-03

同学好,我理解是要找一个入口,栈相对于堆比较小,查找会比较快;栈帧中存放的是方法执行的基本信息比如参数等,这些都是程序当前运行时都在使用的,可以作为GC Root使用

0
1
why779715974
好的老师,我大概理解了
2020-05-03
共1条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8442 学习 · 1872 问题

查看课程