1

参照ベースのエビクションでGoogleグアバキャッシュを使用しています。キャッシュがいっぱいで、削除可能としてマークされた要素がない場合はどうなるのだろうか? メモリ不足の例外がスローされていますか?

4

1 に答える 1

1

参照ベースのエビクションは、基本的に Java の標準 GC の動作と変わりません。GC は、キャッシュ内の参照の存在を単に無視します。オブジェクトが範囲外 (キャッシュ以外のすべての場所) にある場合、GC 中にキャッシュから削除されます。キャッシュのすべての要素が別の場所のスコープ内にあり、したがって GC できない場合、キャッシュを使用していない場合とまったく同じように、メモリの問題が発生します。JVM が許可するように構成されているよりも多くのデータをメモリに保持することはできません。参照削除キャッシュを使用しても、これは変わりません。

于 2017-12-06T09:08:38.787 に答える