版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Kikitious_Du/article/details/78826320
软引用所指向的对象要进行回收,需要满足两个条件:
● 没有任何强引用 指向 软引用指向的对象(内存中的Person对象)
● JVM需要内存时,即在抛出OOM之前
即SoftReference变相的延长了其指示对象占据堆内存的时间,直到虚拟机内存不足时垃圾回收器才回收此堆内存空间。
弱引用所指向的对象要进行回收,只需要满足条件:
● 没有任何强引用 指向 弱引用指向的对象(内存中的Person对象)
即WeakReference不改变原有的强引用对象的垃圾回收机制。一旦其指示对象没有任何强引用对象时,此对象即进入正常的垃圾回收流程。
详细参考:http://blog.csdn.net/kikitious_du/article/details/78126743#t1