-1

私のコードでは、RandomAccessFileを使用して複数のファイル読み取りを使用しています。また、組み込みのHashMapで Java を使用しています。これらはいくつかのページフォールトを引き起こします。キャッシュメカニズムを気にし、Javaコードに簡単に埋め込む組み込みライブラリはありますか?

編集:JAVACを使用しています。

4

2 に答える 2

2

これらはいくつかのページフォールトを引き起こします。JVM が通常、同時に構築された、または 1 つの場所で参照されたすべてのオブジェクトを一緒に配置することを除いて、それらは実行できます。

キャッシュメカニズムを気にし、Javaコードに簡単に埋め込む組み込みライブラリはありますか?

いいえ、最初からこれを利用するように設計されていない限り、JAva やその他の言語でこれを行うのは簡単ではありません。

幸いなことに、ほとんどのデータはメインメモリでない場合はキャッシュにある可能性が高いため、通常は心配する必要はありません (データがメモリ内 (ディスクなど) にない場合にのみページフォールトが発生します)。

初めてディスクからファイルを読み取るときに、ページ フォールトが発生することがあります。アクセスパターンが効率的に処理されるようにするのは、OS の仕事です。そうでない場合、最善の方法は、a) SSD のようなより高速なドライブを使用するか、b) 別の OS を使用することです。(役に立たない可能性大)

于 2012-07-01T07:04:49.227 に答える
0

私の知る限り、キャッシュ用の JSR があります。これはJSR 107
です。これ は Java EE 7 の一部になるようです。
あなたの場合、キャッシング フレームワークの 1 つを使用することをお勧めします。そのうちのいくつかは JSR 107 を実装しています。
Java スタンドをサポートするコードを維持するには、この JSR をサポートするキャッシング フレームワークを選択する必要があります。
ただし、これがフロー/ユースケースに悪影響を与えないかどうかを検討する必要があります。
詳細はこちらのブログでご覧いただけます。

于 2012-07-01T05:43:41.007 に答える