13.2.9 专用集与映射表类 1 弱引用哈希映射表 哈希表存在的问题:不使用的键不能回收 解决方式:使用弱引用哈希表 WeakHashMap 扩展:强引用,软引用,弱引用与虚引用 强引用:必须对
13.2.9 专用集与映射表类
1 弱引用哈希映射表
哈希表存在的问题:不使用的键不能回收
解决方式:使用弱引用哈希表 WeakHashMap
扩展:强引用,软引用,弱引用与虚引用
强引用:必须对象,未置空,未超出作用域时不会回收
软引用:非必须但是重要,保存在文件、指定位置的对象,内存不足时发生回收
弱引用:每次进行垃圾回收时都会直接回收,也就是创建后,下次进行垃圾回收时就会回收
虚引用:垃圾回收器用于标识的标记,用于跟踪回收情况,任何情况下可能进行回收
2 链接散列及和链接哈希映射表
LinkedHashSet 和 LinkedHashMap 依旧以散列格式排列,不同的是它的迭代器会记录插入顺序,遍历时会按照插入顺序逐一取出
3 枚举集与枚举哈希映射表
非常适合完成指定范围的交集、并集、差集等计算,是 BitSet/BitMap 的扩展,如果需要做标签之间的交并差,可考虑直接用 BitSet/BitMap
4 标识哈希映射表
如果使用 IdentityHashMap, 则只比较对象地址是否相等来判别对象是否相等,而非通过equals
❤