1. 引用类型

在 Java 中,对象的引用分为强引入(StrongReference)、软引用(SoftReference)、弱引用(WeakReference)、虚引用(PhantomReference)。

2. WeakHashMap 解析

2.1. 原理解析

WeakHashMap 中的 Entry 继承 WeakReference,而 Entry 实际是一个单向链表,当某个键不在使用时,就会被回收。

2.2. 使用场景

比较适合本地缓存机制,假设我们本地需要保存很大一批的图片对象,其中 values 是图片的内容,key 是图片的名字,此时就可以选择 WeakHashMap。

 

每日一问的答案中可能无法全完解读这个问题,如果您是相关技术专家或者是对本问题有自己的见解,欢迎带着「批判性」的态度阅读,指正其中的不足。