問題タブ [lru]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
665 参照

caching - LRU はファイル システム キャッシュで使用されますか?

計算上のオーバーヘッドが原因で、真の LRU が仮想メモリ システムに実装されていないことを知りました。では、なぜ LRU アルゴリズムがファイル キャッシュで実行可能なのでしょうか?

理由は、inodeの時間フィールドである可能性があると思います。あれは正しいですか?

0 投票する
1 に答える
5758 参照

java - LRU を実装するための LinkedHashSet

の最も古いメンバーを削除したいのですが、オーバーライドする必要がLinkedHashSetあるメソッド ( removeEldestEntry の Java doc ) があることはわかっていますが、定義する必要があると思います。最も最近アクセスされていない要素 (ここでのアクセスとは、既にセット内にあるか、読み取られていることを意味します)removeEldestEntryinitial capacityload factorput

オーバーライドしない方法はありますremoveEldestEntryか?

0 投票する
1 に答える
2083 参照

android - Canvas: Android 2.3 でリサイクルされたビットマップ RuntimeException を使用しようとしています

多くの画像を表示するカスタム ビュー (グリッド ビューに似ています) を作成したので、このアプリケーションではビットマップのリサイクルが必要です。ビットマップのリサイクルを処理するために、Lru キャッシュ (以下に実装) を使用しています。これを Android 2.3 デバイスでテストした (そして高速でスクロールした) と、次のエラー メッセージが表示され、アプリがクラッシュしました。バグを再現する方法を見つけた後、Android 4.0 でテストしたところ、問題なく動作しました。

このバグを追跡したところ、ビットマップを ImageView に設定する前に、ビットマップがリサイクルされているかどうかを確認することがわかりました。ただし、ビットマップはそのステップと draw() ステップの間でリサイクルされ、エラーが発生します。

ここに私のキャッシュがあります:

これが4.0ではなくAndroid 2.3で失敗する理由についてのアイデアはありますか?

0 投票する
4 に答える
62464 参照

caching - LRUとLFUの違いは何ですか

LRULFUキャッシュの実装の違いは何ですか?

を使用して LRU を実装できることを知っていLinkedHashMapます。しかし、LFU キャッシュを実装する方法は?

0 投票する
3 に答える
1174 参照

java - Javaで迅速な実装を行うためのLRUの最良の方法

クイック LRU キャッシュを構築したいと考えています。この種のソリューションはこれを行うための良い方法ですか? 同期はどうですか?

removeEldestEntry という保護されたメソッドがあります。このメソッドは、アイテムがマップに追加されるときに呼び出されます。デフォルトの実装は単に false を返します。しかし、LinkedHashMap をサブクラス化し、このメソッドをオーバーライドして、最大サイズに達したかどうかを確認してから、true を返すことができます。LinkedHashMap は、リンクされたリストを介して最も古いエントリを見つけ、それを起動してから新しいエントリを追加します。

ありがとう