java源码-WeakHashMap
开篇 作为Map系列的最后一篇,我觉得有必要讲讲WeakHashMap这个类,因为这个类可以解决一些oom的问题,典型的场景是在一个HashMap中put不同的key/value对象,如果此时设置key为null而未清除map当中的key对象,那么就无法通过gc回收该对象。 在这篇文章中我希望能够讲明白WeakHashMap是如何解决key和value的gc回收问题,希望能够对一些应用场景产生帮助。 WeakHashMap使用举例 在下面这个例子当中通过设置w1=null,会触发gc对WeakHashMap当中的w1进行主动回收。 import java.util.Iterator; import java.util.Map; import java.util.WeakHashMap; import java.util.Date; import java.lang.ref.WeakReference; public class WeakHashMapTest { public static void main(String[] args) throws Exception { t...