KAR*_*ván 20
10.0版的新Guava库引入了Cache
专门用于缓存的界面.
它附带CacheBuilder
,类似于MapMaker
所有缓存方法MapMaker
将在版本11中删除.
文档中的示例:
Cache<Key, Graph> graphs = CacheBuilder.newBuilder()
.concurrencyLevel(4)
.weakKeys()
.maximumSize(10000)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build(
new CacheLoader<Key, Graph>() {
public Graph load(Key key) throws AnyException {
return createExpensiveGraph(key);
}
});
Run Code Online (Sandbox Code Playgroud)
听起来像你想要MapMaker.makeComputingMap
,但你提到softKeys
所以我假设你已经熟悉那个班级.
你是对的softKeys
- 如果你动态地组合键,它将无法工作,因为softKeys
使用地图==
而不是equals
键进行比较.但是你应该没事,softValues
并且expiration
,只要重新创建一个被驱逐的条目没有副作用.
归档时间: |
|
查看次数: |
9601 次 |
最近记录: |