使用google guava库中MapMarker做java的内存缓存,guavamapmarker,google的guava
分享于 点击 19840 次 点评:236
使用google guava库中MapMarker做java的内存缓存,guavamapmarker,google的guava
google的guava库中的MapMaker类可以方便的做内部缓存,可以指定缓存的并发级别,过期失效,也可以指定为弱引用。
下面代码片段:
ConcurrentMap<Key, Graph> graphs = new MapMaker() .concurrencyLevel(32) .softKeys() .weakValues() .expiration(30, TimeUnit.MINUTES) .makeComputingMap( new Function<Key, Graph>() { public Graph apply(Key key) { return createExpensiveGraph(key); } });
使用上述方法时可以从google code上下载jar包引用到项目中,或者在项目中添加google guava的maven引用:
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava-collections</artifactId> <version>r03</version></dependency>
用户点评