【Java基础】Java弱引用

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

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

【Java基础】Java弱引用_第1张图片

结果如下

clipboard.png

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

你可能感兴趣的:(java)