LRUキャッシュのいくつかのJava実装


コンセプト

LRUは、最も最近使用されていない、つまり最も最近使用されていない、最も一般的に使用されるページ置換アルゴリズムの省略形であり、削除する最も最近使用されていないページを選択します。  

LRU(最近使用されていない)とは、最近アクセスされていないデータを排除することです。LRUは、最近使用されたデータが将来使用される確率も高く、最近アクセスされていないデータが将来使用される確率を比較することを前提としています。低。

原理

  LRUは通常、キャッシュされたデータをリンクリストの形式で格納します。新しく挿入またはアクセスされたデータは、リンクリストの先頭に配置されます。一定のしきい値を超えると、リンクリストの末尾のデータは自動的に削除されます。次の図は、LRUキャッシュの削除プロセスを鮮明に示しています。

手順:

1.新しくAを挿入し、キューの先頭にAを配置します

2. Bを新たに挿入し、Bをキューの先頭に配置すると、Aが自動的に2番目のシートを推奨します。

3.新しくCを挿入し、Cをキューの先頭に配置すると、Bが自動的に2番目のシートを推奨します。 

4.新たにDを挿入し、Dをキューの先頭に配置すると、Cが自動的に2番目のシートを推奨します。 

5.新たにEを挿入し、Eをキューの先頭に配置すると、Dが自動的に2番目のシートを推奨します。 

6.新しいEを挿入し、キューの先頭にEを配置します。このとき、キューの長さはしきい値を超えており、テールデータAは自動的に削除されます。

7.データCにアクセスし、Cをキューの先頭に再配置します。

8.新しいEを挿入し、Eをキューの先頭に配置します。このとき、キューの長さはしきい値を超えており、テールデータBは自動的に削除されます。

達成する

LRUキャッシュのいくつかのJava実装を以下に示します。

1.二重リンクリスト(LinkedList

1665件のオリジナル記事が公開されました 1067件の賞賛 750,000回

おすすめ

転載: blog.csdn.net/universsky2015/article/details/105480136