乐趣区

Java弱引用

java 弱引用的定义:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存

先让一个对象同时有一个强引用和一个弱引用,此时进行垃圾回收不会回收弱引用
然后使强引用不再指向这个对象,所以这个对象就只剩下了一个弱引用,那么,如果我们再进行一次垃圾回收,就会回收这个对象的弱引用

结果如下

让强引用指向别的对象,或者让 str 对 String 对象的强引用超出作用域(例如创建个方法,让创建对象的代码在这个方法里执行,main 方法调用这个方法),都可以让 String 对象的强引用消失

退出移动版