番石榴缓存为何支持weakKeys()和weakValues()

时间:2019-01-19 05:32:25

标签: guava

Guava CacheBuilder同时支持weakKeys()和weakValues()。 但是,如果收集了值,为什么还要在Cache中保留键? 因此,如果我们只使用weakKeys(),就足够了吗?

1 个答案:

答案 0 :(得分:1)

weakKeys的意思是“收集键但保留值”,不是 ,而weakValues的情况是 nor 表示“收集值但保留键”。

weakKeys的意思是,“当不再有对 key 的强引用时,请收集整个条目。” weakValues的意思是,“当不再有对 value 的强引用时,请收集整个条目。”因此,当您同时使用两者时,当 键或值没有指向它的强引用时,将收集整个条目。