对于这两种方法,文档并不是那么清楚
我将直接提出一个问题:我应该使用哪一个来从缓存的对象中释放堆?
查看LocalManualCache
和LocalCache
的源代码,似乎invalidateAll()
是可行的方式,因为Segment
表的条目已设置为空。
那么cleanUp()
是什么意思?
答案 0 :(得分:1)
来自CacheBuilder
Javadoc:
如果请求expireAfterWrite或expireAfterAccess,则可能会在每次缓存修改,偶尔的缓存访问或对Cache.cleanUp()的调用时逐出条目。
cleanUp
通过并确保已经过期的元素被逐出,因为Cache的设计不一定会在条目到期时立即逐出。它并没有消除所有条目,只是已经过期的条目。 invalidateAll
删除缓存中的每个条目。