パッケージ org.springframework.util

クラス ConcurrentLruCache<K,V>

java.lang.ObjectSE
org.springframework.util.ConcurrentLruCache<K,V>
型パラメーター:
K - キャッシュの取得に使用されるキーの型
V - キャッシュされた値の型。null 値は許可されません

public final class ConcurrentLruCache<K,V> extends ObjectSE
指定されたキャッシュ容量によって制限される単純な LRU (Least Recent Used) キャッシュ。

これは、Spring Framework での内部使用のための LRU キャッシュの単純化された独自の実装です。ConcurrentLinkedHashMap から着想を得ています。

読み取り操作と書き込み操作は、専用のバッファーに内部的に記録され、競合を避けるために選択された時間に排出されます。

導入:
5.3
作成者:
Brian Clozel, Ben Manes
関連事項:
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    ConcurrentLruCache(int capacity, FunctionSE<K,V> generator)
    指定された容量とジェネレーター関数で新しいキャッシュインスタンスを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    キャッシュ内のエントリの最大数を返します。
    void
    このキャッシュからすべてのエントリをすぐに削除します。
    boolean
    contains(K key)
    指定されたキーがこのキャッシュに存在するかどうかを判別します。
    get(K key)
    キャッシュからエントリを取得し、値の生成をトリガーする可能性があります。
    boolean
    remove(K key)
    指定されたキーと関連する値をすぐに削除します。
    int
    キャッシュの現在のサイズを返します。
    int
    使用すべきではありません。
    6.0 の時点で capacity() を推奨します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • ConcurrentLruCache

      public ConcurrentLruCache(int capacity, FunctionSE<K,V> generator)
      指定された容量とジェネレーター関数で新しいキャッシュインスタンスを作成します。
      パラメーター:
      capacity - キャッシュ内のエントリの最大数 (0 はキャッシュがないことを示し、常に新しい値を生成します)
      generator - 指定されたキーの新しい値を生成する関数
  • メソッドの詳細

    • get

      public V get(K key)
      キャッシュからエントリを取得し、値の生成をトリガーする可能性があります。
      パラメーター:
      key - エントリを取得するためのキー
      戻り値:
      キャッシュされた値または新しく生成された値
    • capacity

      public int capacity()
      キャッシュ内のエントリの最大数を返します。
      関連事項:
    • sizeLimit

      @DeprecatedSE(since="6.0") public int sizeLimit()
      使用すべきではありません。
      6.0 の時点で capacity() を推奨します。
      キャッシュ内のエントリの最大数を返します。
    • size

      public int size()
      キャッシュの現在のサイズを返します。
      関連事項:
    • clear

      public void clear()
      このキャッシュからすべてのエントリをすぐに削除します。
    • contains

      public boolean contains(K key)
      指定されたキーがこのキャッシュに存在するかどうかを判別します。
      パラメーター:
      key - チェックするキー
      戻り値:
      キーが存在する場合は true、一致するキーがない場合は false 
    • remove

      @Nullable public boolean remove(K key)
      指定されたキーと関連する値をすぐに削除します。
      パラメーター:
      key - エントリを削除するためのキー
      戻り値:
      キーが以前に存在した場合は true、一致するキーがなかった場合は false