gpt4 book ai didi

java - 使用 Google Collection MapMaker?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:36:24 26 4
gpt4 key购买 nike

我刚看到这个answer in SO其中提到 Google Collection MapMaker太棒了。我仔细阅读了文档,但无法真正弄清楚我可以在哪里使用它。任何人都可以指出一些适合使用 MapMaker 的场景。

最佳答案

这是我使用 MapMaker 的一种方式的快速示例:

private final ConcurrentMap<Long, Foo> fooCache = new MapMaker()
.softValues()
.makeComputingMap(new Function<Long, Foo>() {
public Foo apply(Long id) {
return getFooFromServer(id);
}
});

public Foo getFoo(Long id) {
return fooCache.get(id);
}

当在 map 上调用 get(id) 时,它将返回 map 中该 ID 的 Foo 或从中检索它服务器,缓存它,并返回它。一旦设置好,我就不必再考虑这个了。另外,由于我设置了 softValues(),因此缓存无法填满并导致内存问题,因为系统能够根据内存需求清除缓存中的条目。但是,如果从映射中清除缓存值,它可以在下次需要时再次向服务器请求!

事实是,这只是它的一种使用方式。让 map 使用强键、弱键或软键和/或值的选项,以及在特定时间后删除条目的选项,让您可以用它做很多事情。

关于java - 使用 Google Collection MapMaker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com