类 ConcurrentLruCache<K,​V>

  • 类型参数:
    K - 用于缓存检索的密钥的类型
    V - 缓存值的类型

    public class ConcurrentLruCache<K,​V>
    extends Object
    简单 LRU(最近最少使用)缓存,受指定的缓存限制限制

    此实现由用于存储缓存值的 ConcurrentHashMap 和用于对键进行排序并在缓存满负荷时选择最近最少使用的键的 ConcurrentLinkedDeque 提供支持。

    另请参阅:
    get(K)
    • 构造器概要

      构造器 
      构造器 说明
      ConcurrentLruCache​(int sizeLimit, @NotNull java.util.function.Function<K,​V> generator)
      创建一个具有给定限制和生成器函数的新缓存实例
    • 构造器详细资料

      • ConcurrentLruCache

        public ConcurrentLruCache​(int sizeLimit,
                                  @NotNull
                                  @NotNull java.util.function.Function<K,​V> generator)
        创建一个具有给定限制和生成器函数的新缓存实例
        参数:
        sizeLimit - 缓存中的最大条目数(0 表示无缓存,始终生成新值)
        generator - 为给定键生成新值的函数
    • 方法详细资料

      • get

        public V get​(K key)
        从缓存中检索条目,这可能会触发值的生成
        参数:
        key - 检索条目的键
        返回:
        缓存值或新生成的值
      • contains

        public boolean contains​(K key)
        确定此缓存中是否存在给定的键
        参数:
        key - 要检查的键
        返回:
        如果存在键为 true,如果没有匹配的键为 false
      • remove

        public boolean remove​(K key)
        立即删除给定的键和任何关联的值
        参数:
        key - 逐出条目的密钥
        返回:
        如果密钥之前存在为 true,如果没有匹配的密钥为 false
      • clear

        public void clear()
        立即从此缓存中删除所有条目
      • size

        public int size()
        返回缓存的当前大小
        另请参阅:
        sizeLimit()
      • sizeLimit

        public int sizeLimit()
        返回缓存中的最大条目数(0 表示无缓存,始终生成新值)
        另请参阅:
        size()