美文网首页
WeakHashMap 实践

WeakHashMap 实践

作者: 恶魔幻心 | 来源:发表于2017-01-10 14:26 被阅读0次

WeakHashMap的键是“弱键”,通过WeakReference和ReferenceQueue实现。

“弱键”是一个“弱引用(WeakReference)”,在Java中,WeakReference和ReferenceQueue 是联合使用的。在WeakHashMap中亦是如此:如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。 接着,WeakHashMap会根据“引用队列”,来删除“WeakHashMap中已被GC回收的‘弱键’对应的键值对”。

一旦内存不够,在GC时,没有被引用的表项又会很快被清除掉,从而避免系统内存溢出


String w1 =newString("one");

Map wmap =newWeakHashMap();

wmap.put(w1, "w1");

//将w1设置null。

//这意味着“弱键”w1再没有被其它对象引用,调用gc时会回收WeakHashMap中与“w1”对应的键值对

w1 =null;

//内存回收。这里,会回收WeakHashMap中与“w1”对应的键值对

System.gc();

相关文章

  • WeakHashMap 实践

    WeakHashMap的键是“弱键”,通过WeakReference和ReferenceQueue实现。 “弱键”...

  • WeakHashMap源码分析

    WeakHashMap WeakHashMap介绍 WeakHashMap继承于AbstractMap,实现了Ma...

  • WeakReference 在 WeakHashMap 和 T

    WeakHashMap TheadLocalMap WeakHashMap 和 ThreadLocalMap 中 ...

  • Java开发大型互联网-探索WeakHashMap垃圾回收原理你

    WeakHashMap垃圾回收原理 垃圾回收原理 谈WeakHashMap回收原理得从WeakReference(...

  • Java集合·09·WeakHashMap详解

    一、概述 WeakHashMap 继承于AbstractMap,实现了Map接口。 WeakHashMap也是一个...

  • WeakHashMap 解析

    WeakHashMap WeakHashMap和HashMap一样key和value的值都可以为null,并且也是...

  • WeakHashmap

    近日阅读 hadoop 源码时,经常就遇到一个集合 WeakHashmap,阅读源码,发现jdk1.2就出现了这个...

  • WeakHashMap

    WeakHashMap 总体介绍 在Java集合框架系列文章的最后,笔者打算介绍一个特殊的成员:WeakHashM...

  • WeakHashMap

    一、什么是WeakHashMap? Map 的子类常见的有 HashMap[https://www.jianshu...

  • WeakHashMap

    1. 简介 WeakHashMap 是一种使用弱项(WeakEntry)的哈希映射表,本质上是一种特殊的HashM...

网友评论

      本文标题:WeakHashMap 实践

      本文链接:https://www.haomeiwen.com/subject/albkbttx.html