Nik*_*ita 46 java collections java.util.concurrent weakhashmap guava
是否可以使用Collections.synchronizedMap()
并发保持正确性来重写下面的代码片段?
Collections.synchronizedMap(new WeakHashMap<Class, Object>());
Run Code Online (Sandbox Code Playgroud)
即是否可以使用java.util.concurrent中的东西?请注意,仅替换为
new ConcurrentHashMap<Class, Object>(new WeakHashMap<Class, Object>()));
Run Code Online (Sandbox Code Playgroud)
显然不行
Ste*_*ker 36
Guava的CacheBuilder类允许您轻松完成此操作.
CacheBuilder.newBuilder().weakKeys().build()
Run Code Online (Sandbox Code Playgroud)
请注意,这会更改键等同语义,==
而.equals()
不是在使用Class
实例时无关紧要,但这是一个潜在的陷阱.
obj*_*cts 19
我不相信有.实际上javadoc建议使用Collections.synchronizedMap()
"与大多数集合类一样,此类不同步.可以使用Collections.synchronizedMap方法构建同步的WeakHashMap."
归档时间: |
|
查看次数: |
15565 次 |
最近记录: |