本文的示例中需要触发垃圾回收,用了 Java 如何触发垃圾回收 给出的方法。
WeakHashMap 首先是一个 Map,可以用key-value的形式存储数据。
其次,它继承自 WeakReference,当 key 只剩下弱引用时,会以懒处理的方式清理该 key-value 。
懒处理,是指在调用 WeakHashMap 的 size、put、get 等方法时才去清理。
回顾弱引用:WeakReference
当一个对象只有弱引用时,gc时会把该对象回收。
运行结果:
WeakHashMap 的使用
运行结果: