ConcurrentLinkedHashMap是的一个高性能实现。主要用于软件缓存。
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
/p/concurrentlinkedhashmap
/ben-manes/concurrentlinkedhashmap
import ;
import ;
import ;
import ;
import ;
public class Test {
public static void main(String[] args) {
//test001();
test002();
}
private static void test001() {
EvictionListener<String, String> listener = new EvictionListener<String, String>() {
@Override
public void onEviction(String key, String value) {
("Evicted key=" + key + ", value=" + value);
}
};
ConcurrentMap<String, String> cache = new <String, String>()
.maximumWeightedCapacity(10).listener(listener).build();
for (int i = 0; i < 150; i++) {
int j = 1024;
j = j + i;
((j), "nihao" + i);
}
for (<String, String> entry : ()) {
String key = ();
String value = ();
(key + "====" + value);
}
(("1025"));
("1026");
}
/**
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
/p/concurrentlinkedhashmap
*/
private static void test002() {
ConcurrentLinkedHashMap<Integer, Integer> map = new <Integer, Integer>()
.maximumWeightedCapacity(2).weigher(())
.build();
(1, 1);
(2, 2);
(3, 3);
((1));// null 已经失效了
((2));
}
}