2017-02-21 3 views
0

Guava CacheBuilder maximumSize()およびmaximumweight()ウェイト関数で指定する数値が何であるかを調べようとしています。Guava maximumSizeまたはmaximumWidthは、キャッシュメモリサイズを制限するためのものです。

は、私は最大サイズとして指定された1000年はそれが出蹴り開始する前に、私はキャッシュに千の異なるエントリを持つことができることを意味してい

Cache<String, Object> programCache = CacheBuilder.newBuilder() 
.maximumSize(1000) 
.build(); 

、私は私のコードでこのような何かを持っていると言いますLRU(オブジェクトのサイズに関係なく)この場合、オブジェクトのサイズに制限はありますか?

1000は、私が1000 MB(MBが正しいのですか?)で動作することを意味し、LRUを開始する前に1000 MBまでのオブジェクトをキャッシュに保持できますか?

次に、最大重量は何ですか?

グアバのキャッシュメモリを500MBに制限するための良い設定が提供されていると評価します。

+0

Javaでは、あらゆる種類のメモリ消費量を測定することは実際には難しい(遅くなる可能性があります)。キャッシュは努力をしません。 –

答えて

0

ドキュメントはmaximumSize(long)

はキャッシュが含まれていてもよいエントリの最大数を指定しますと言います。

の指定500メガバイトは、エントリの重みのための単位はありません

として、maximumWeight(long)カスタムWeigherで可能でなければなりません。むしろ、単に互いに対して相対的です。

関連する問題