问个弱引用的问题
subchen
2013-11-20
在 Java 中,我们知道,如果发生 Full GC,那么弱引用对象就会被清除。
如果有弱引用 a 和 b, 还有个强引用 a 类似下面的 代码 Object a = new Object(); Object b = new Object(); Reference ref_a = new WeakReference(a); Reference ref_b = new WeakReference(b); b = null; // free b 那么对于 ref_b 指向的对象(b)在 Full GC 的时候,会被回收,也就是 ref_b.get() === null 而对于 ref_a 指向的对象(a) 不会被回收 我的问题是,在 Full GC 之后 ref_a.get() ?== null |
|
RednaxelaFX
2013-11-20
强引用a是活着的那ref_a.get()就一定不是null
|
|
subchen
2013-11-20
OK,那么我就可以安全的使用 WeakHashMap 实现我的功能了。
|