Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java线程安全LinkedHashMap实现?_Java_Multithreading_Hashmap_Thread Safety - Fatal编程技术网

Java线程安全LinkedHashMap实现?

Java线程安全LinkedHashMap实现?,java,multithreading,hashmap,thread-safety,Java,Multithreading,Hashmap,Thread Safety,我需要使用LinkedHashMap的RemoveedStantry()方法 以线程安全的方式使用LinkedHashMap的和RemoveedStantry()方法最简单的方法是什么?java.util.Collections.synchronizedMap(map)返回由指定映射支持的同步(线程安全)映射 您可以匿名扩展LinkedHashMap以更改RemoveedStantry(…)的行为,然后将匿名类的实例包装在同步映射中。您没有提到所需的类型参数,因此我在本例中使用了 Map<

我需要使用
LinkedHashMap
RemoveedStantry()
方法


以线程安全的方式使用
LinkedHashMap的
RemoveedStantry()
方法最简单的方法是什么?

java.util.Collections.synchronizedMap(map)返回由指定映射支持的同步(线程安全)映射

您可以匿名扩展
LinkedHashMap
以更改
RemoveedStantry(…)
的行为,然后将匿名类的实例包装在同步映射中。您没有提到所需的类型参数,因此我在本例中使用了

Map<String, Integer> map = Collections.synchronizedMap(new LinkedHashMap<String, Integer>() {
   private static final long serialVersionUID = 12345L; // use something random or just suppress the warning
   @Override
   protected boolean removeEldestEntry(Entry<String, Integer> eldest) {
      return size() > MAX_SIZE; // how many entries you want to keep
   }               
});
Map Map=Collections.synchronizedMap(新LinkedHashMap()){
private static final long serialVersionUID=12345L;//使用随机值或仅抑制警告
@凌驾
受保护的布尔重构(最早的入口){
return size()>MAX_size;//要保留多少个条目
}               
});