5

ehcache 1.2.3 を使用しています。キャッシュ サイズは「要素」の観点から指定されるため、キャッシュが占有するメモリは大きく異なる場合があります (ehcache は hibernate と共に使用され、クエリが異なるサイズの結果セットを返す標準クエリ キャッシュも保持します)。私の質問は、JVM のメモリが不足するとどうなるかということです。ehcache の変更ログを読んで感じたのは、最初はソフト参照を使用していたということですが、Java 1.4 がそれらを積極的に消去していたため、ソフト参照は最終的に削除されました。したがって、キャッシュが大きくなりすぎると、OutOfMemoryError が発生しますか? それを防ごうとするEhcacheには何もありませんか?

4

1 に答える 1

1

ehcache を使用して OOM を作成したい場合は、それを行うことができます。maxEntriesLocalHeap / maxBytesLocalHeap のように、サイジング オプションを見たことがありますか。これらを使用すると、キャッシュが割り当てられたメモリ量を超えて使用するのを効果的に防ぐことができます。

たとえば、http://ehcache.org/documentation/configuration/cache-sizeを参照してください

于 2012-06-22T09:45:23.940 に答える