7-5 JAVA垃圾回收之常见面试题中,main方法中栈对象f已经指向null了

来源:7-5 Java垃圾回收之常见面试题

那月真美

2025-01-25

7-5 JAVA垃圾回收之常见面试题中,main方法中栈对象f已经指向null了,虽然finalize方法中让静态对象finalization指向了要回收的对象,这只是让静态变量有了指向,并且指向了this。但是本地线程栈中的指针f不是应该还是指向Null没变吗?f跟静态成员变量本身没有关联了啊,这里没想明白

写回答

2回答

翔仔

2025-01-27

同学好,不会的,这个是静态变量,如果非静态变量才会报空指针,可以试试。

0
1
那月真美
非常感谢!
2025-02-09
共1条回复

翔仔

2025-01-26

同学好,辛苦描述一下后续的结果和困惑哈,和它没有关系后,后续是有什么问题呀。

0
1
那月真美
本地栈指针 f指向了null,在垃圾回收this 对象时,将堆里面的静态成员变量finalization指向了this对象实体; 也就是说堆里面的这个类的实体对象又有了静态成员变量的引用。 但是本地栈指针 f 理论上依然没有任何指向(指向了null) 栈:f---->null 堆:(没有任何指针引用) Finalization类实例(也就是this) 垃圾回收时 堆:静态成员变量 finalization----> Finalization类实例(this) 但栈:f--->null 为啥第22行再使用本地指针 f 的时候不会报空指针?
2025-01-26
共1条回复

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

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

8442 学习 · 1872 问题

查看课程