只是想知道系统是否为空的番石榴缓存预先分配了任何空间?我是番石榴缓存的新手,有人可以帮我理解这个问题吗?
我也用下面的代码测试它:
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);
奇怪的是......不知道为什么之后使用的内存减少了。有人可以解释一下吗。
非常感谢 : )