Java 我们可以使用HashMap在HttpSession中存储共享数据吗?

Java 我们可以使用HashMap在HttpSession中存储共享数据吗?,java,servlets,concurrency,Java,Servlets,Concurrency,我们正在使用HashMap在HttpSession(Jetty)中存储数据。 我们不会在“推送”和“获取”上同步。 是否有可能一个请求将数据放入映射,而另一个请求在映射中看不到该数据,因为它们来自不同的线程(Jetty线程池) 也许我们必须使用ConcurrentHashMap?您必须确保存储在会话中的整个对象的状态在不同线程之间是一致的 仅仅用ConcurrentHashMap替换HashMap可能还不够 ConcurrentHashMap唯一能确保的是对存储在映射中的值和键强制执行“之前发生

我们正在使用HashMap在HttpSession(Jetty)中存储数据。 我们不会在“推送”和“获取”上同步。 是否有可能一个请求将数据放入映射,而另一个请求在映射中看不到该数据,因为它们来自不同的线程(Jetty线程池)


也许我们必须使用ConcurrentHashMap?

您必须确保存储在会话中的整个对象的状态在不同线程之间是一致的

仅仅用
ConcurrentHashMap
替换
HashMap
可能还不够


ConcurrentHashMap
唯一能确保的是对存储在映射中的值和键强制执行“之前发生”行为。

是的,使用
ConcurrentHashMap
可能会更好。无论如何,为什么不直接使用
HttpSession
呢?我们在HttpSession中存储了一个复杂的对象。其中一个字段是HashMap。