强引用和软引用
来源: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是局部变量,软引用用的是类成员变量,局部变量后面就被回收了,而成员变量如果是软银用,就会在内存不足的时候被回收
00
相似问题