强引用和软引用

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

可乐少女

2021-06-26

老师好:
String str = new String(“abc”);
SoftReference softRef = new SoftReference(str);
对这个有个疑问,str和softRef都是强引用,new SoftReference(str)有一个软引用指向和str相同的堆内存地址,垃圾回收的时候,空间不足要回收软引用占用的内存,但是这个时候str指向这块内存空间,这个时候能回收成功嘛?

写回答

1回答

翔仔

2021-06-27

同学好,可以的,一般这种情况,str是局部变量,软引用用的是类成员变量,局部变量后面就被回收了,而成员变量如果是软银用,就会在内存不足的时候被回收

0
0

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

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

8430 学习 · 1870 问题

查看课程