请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于能够作为GC Root的对象的疑问

所以可以作为GC Root的是指对象,而不是引用吗?
例如Object o = new Object(),调用new Object()在堆中分配的对象是GC Root,而不是o

另外“方法区中的常量引用的对象”这句话不明白什么意思,常量能引用对象的吗?

正在回答 回答被采纳积分+3

插入代码

1回答

翔仔 2020-07-25 01:46:02

同学好,

虚拟机栈中的引用的对象可以作为GC Root。我们程序在虚拟机的栈中执行,每次函数调用调用都是一次入栈。在栈中包括局部变量表和操作数栈,局部变量表中的变量可能为引用类型(reference),他们引用的对象即可作为GC Root。不过随着函数调用结束出栈,这些引用便会消失。所以可以作为GC root对象的是 o引用的Object实例。

另外一个

1
2
3
Class Dog {
    private final Object teeth = new Teeth();
}

teeth应用的Teeth实例



0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号