Google 番石榴缓存 - cleanUp 和 invalidateAll

Google Guava Cache - cleanUp and invalidateAll

对于这两种方法,文档并不是很清楚。
我将提出一个直截了当的问题:我应该使用哪个来从缓存对象中释放堆?
查看 LocalManualCacheLocalCache 的源代码,似乎 invalidateAll() 是可行的方法,因为 Segment 的 table 条目设置为空。
那么cleanUp()是什么意思呢?

来自 CacheBuilder Javadoc:

If expireAfterWrite or expireAfterAccess is requested entries may be evicted on each cache modification, on occasional cache accesses, or on calls to Cache.cleanUp().

cleanUp 检查并确保已过期的元素实际上被逐出,因为缓存的设计不一定会在过期时立即逐出条目。它不会消除 all 条目,只会消除那些已过期的条目。 invalidateAll 删除缓存中的每个条目。