グアバのドキュメントによるとMapMaker.softValues()
:
警告: ほとんどの場合、ソフト参照を使用する代わりに、キャッシュごとの最大サイズを設定する方が適切です。この方法は、ソフト参照の実際の結果に精通している場合にのみ使用してください。
ソフト参照の動作、使用、およびガベージ コレクションとのコントラクトについては、中程度の理解があります。しかし、これらの実際的な結果は、ドキュメントが暗示しているものなのだろうかと思っています。ソフト参照ではなく最大サイズを使用する方が正確なのはなぜですか? キャッシュの実装に関して、ソフト参照のアルゴリズムと動作により、ハードコードされた上限よりも効率的に使用できるようになりませんか?