• WeakHashMap类


    WeakHashMap类是Map接口的一个实现,它只存储对键的弱引用。仅存储弱引用允许在键不再在WeakHashMap之外引用时对键值对进行垃圾收集。

    此类提供了利用弱引用功能的最简单方法。它对于实现“类似注册表”的数据结构很有用,其中当任何线程不再可以访问键时,项目的实用程序就会消失。

    WeakHashMap的功能与HashMap相同,但有一个非常重要的特性:如果Java内存管理器不再具有对指定为键的对象的强引用,则将删除映射中的条目。

    弱引用 - 如果对象的唯一引用是弱引用,则垃圾回收器可以随时回收对象的内存。它不必等到系统内存不足。通常,它将在下次垃圾收集器运行时释放。

    以下是WeakHashMap类支持的构造函数列表:

    编号 方法 描述
    1 WeakHashMap() 此构造函数使用默认初始容量(16)和默认加载因子(0.75)构造一个新的空WeakHashMap。 
    2 WeakHashMap(int initialCapacity) 此构造函数使用给定的初始容量和默认加载因子(0.75)构造一个新的空WeakHashMap。 
    3 WeakHashMap(int initialCapacity, float loadFactor)   
    4 WeakHashMap(Map t) 此构造函数构造一个新的WeakHashMap,其映射与指定的Map相同。 

     

    除了从父类继承的方法之外,WeakHashMap还定义了以下方法:

    编号 方法 描述
    1 void clear() 从此映射中删除所有映射。
    2 boolean containsKey(Object key)  如果此映射包含指定键的映射,则返回true。
    3 boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回true。
    4 Set entrySet() 返回此映射中包含的映射的集合视图。
    5 Object get(Object key)  返回指定键在此标识哈希映射中映射到的值,如果映射不包含此键的映射,则返回null。 
    6 boolean isEmpty() 如果此映射不包含键-值映射,则返回true。
    7 Set keySet() 返回此映射中包含的键的set视图。
    8 Object put(Object key, Object value)  将指定的值与此映射中的指定键相关联。
    9 void putAll(Map m) 将指定映射中的所有映射复制到此映射。这些映射将替换此映射对当前位于指定映射中键的映射。
    10 Object remove(Object key) 从此映射中删除此键的映射(如果存在)。
    11 int size() 返回此映射中键-值映射的数量。
    12 Collection values() 返回此映射中包含值的集合视图。
  • 相关阅读:
    C#实战Microsoft Messaging Queue(MSMQ)
    Spring注解用法
    Last_IO_Errno: 1032
    浅谈TCP/IP网络编程中socket的行为
    Golang网络库中socket阻塞调度源码剖析
    delphi新语法之泛型实现的对象池模板
    Delphi 编码转换 Unicode gbk big5(使用LCMapString设置区域后,再用API转换)
    提高Delphi的编译速度(bpl和bcp)
    解决jqplot与jquery-ui导入必要包时的冲突
    Linux系统下用C语言获取MAC地址
  • 原文地址:https://www.cnblogs.com/yhcTACK/p/15449664.html
Copyright © 2020-2023  润新知