Java 高度多线程的地图缓存

Java map cache for highly multiple threads

请建议哪个地图可以用于缓存。

我的用例是一个高度多线程的服务器,我想同步 put map 但 get map 没有同步。

我的期望是:如果发生 put,那么立即 get 应该有最新的更新值。

对于我们的用例,在我们现在正在执行的 put always 期间,整个地图可能不需要同步,只有在尝试加载相同的值时才应该同步。

ConcurrentHashMap 是这里的正确答案,因为从多个线程并发使用是安全的。

或者,如果您可以添加库依赖项,Guava's Cache 可能就是您要找的。

你必须而不是做的是在每个操作上使用HashMap或其他没有适当同步的线程不安全结构,读取和变异。这根本不是线程安全的,并且可能会在 terrible ways.

中失败