システムが空のグアバキャッシュのためのスペースをあらかじめ割り当てているかどうか疑問ですか?私はグアバのキャッシュに新しいです、誰かが私はこの問題を理解するのを助けることができますか? 空のグアバキャッシュサイズ?
はまた、私は以下のコードでそれをテストします。long preMemUsage = Runtime.getRuntime().totalMemory() -Runtime.getRuntime().freeMemory();
Cache<String, CountObject> cache = CacheBuilder.newBuilder()
.maximumSize(12000)
.expireAfterAccess(7200,TimeUnit.SECONDS)
.concurrencyLevel(10)
.recordStats().build();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
long postMemUsage = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
System.out.println("Before: " + preMemUsage);
System.out.println("After: " + postMemUsage);
奇妙なことは、後に減少した使用メモリ.....なぜノーアイデアです。 誰かがこれを説明できますか?
どうもありがとう:
ガベージコレクタの方法は不思議です。かなり多くの可能性があります。ガベージコレクタを明示的にコールしてから、使用されたメモリを計算してください。 'System.gc()' – JiriS