問題タブ [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.
caching - LRU はファイル システム キャッシュで使用されますか?
計算上のオーバーヘッドが原因で、真の LRU が仮想メモリ システムに実装されていないことを知りました。では、なぜ LRU アルゴリズムがファイル キャッシュで実行可能なのでしょうか?
理由は、inodeの時間フィールドである可能性があると思います。あれは正しいですか?
java - LRU を実装するための LinkedHashSet
の最も古いメンバーを削除したいのですが、オーバーライドする必要がLinkedHashSet
あるメソッド ( removeEldestEntry の Java doc
) があることはわかっていますが、定義する必要があると思います。最も最近アクセスされていない要素 (ここでのアクセスとは、既にセット内にあるか、読み取られていることを意味します)removeEldestEntry
initial capacity
load factor
put
オーバーライドしない方法はありますremoveEldestEntry
か?
android - Canvas: Android 2.3 でリサイクルされたビットマップ RuntimeException を使用しようとしています
多くの画像を表示するカスタム ビュー (グリッド ビューに似ています) を作成したので、このアプリケーションではビットマップのリサイクルが必要です。ビットマップのリサイクルを処理するために、Lru キャッシュ (以下に実装) を使用しています。これを Android 2.3 デバイスでテストした (そして高速でスクロールした) と、次のエラー メッセージが表示され、アプリがクラッシュしました。バグを再現する方法を見つけた後、Android 4.0 でテストしたところ、問題なく動作しました。
このバグを追跡したところ、ビットマップを ImageView に設定する前に、ビットマップがリサイクルされているかどうかを確認することがわかりました。ただし、ビットマップはそのステップと draw() ステップの間でリサイクルされ、エラーが発生します。
ここに私のキャッシュがあります:
これが4.0ではなくAndroid 2.3で失敗する理由についてのアイデアはありますか?
caching - LRUとLFUの違いは何ですか
LRUとLFUキャッシュの実装の違いは何ですか?
を使用して LRU を実装できることを知っていLinkedHashMap
ます。しかし、LFU キャッシュを実装する方法は?
java - Javaで迅速な実装を行うためのLRUの最良の方法
クイック LRU キャッシュを構築したいと考えています。この種のソリューションはこれを行うための良い方法ですか? 同期はどうですか?
removeEldestEntry という保護されたメソッドがあります。このメソッドは、アイテムがマップに追加されるときに呼び出されます。デフォルトの実装は単に false を返します。しかし、LinkedHashMap をサブクラス化し、このメソッドをオーバーライドして、最大サイズに達したかどうかを確認してから、true を返すことができます。LinkedHashMap は、リンクされたリストを介して最も古いエントリを見つけ、それを起動してから新しいエントリを追加します。
ありがとう