ConcurrentHashMap是在Servlet中使用的可靠选择吗?

new*_*bie 2 java servlets hashmap

我需要在Servlet中映射对象.ConcurrentHashMap是一个可靠的选择吗?所有请求都会从地图获取请求的对象还是会出现故障?

public class MyServlet extends HttpServlet {

    private Map<String, Object> map = new ConcurrentHashMap<String, Object>();

    public void doGet(HttpServletRequest request, HttpServletResponse response) {
        // use map
        map.get("myObjectName");
    }

}
Run Code Online (Sandbox Code Playgroud)

Mis*_*ble 5

a的目的ConcurrentHashMap是允许在没有锁定的情况下进行检索.它适用于具有大量读取和极少写入的多线程程序.

你写了

servlet初始化后,对象不会被修改. - 新手

如果你的意思是在servlet初始化之后地图没有改变,那么你根本不需要a ConcurrentHashMap.你可以使用普通的旧HashMap.更好的方法是使用它将其转换为不可修改的地图Collections.unmodifiableMap.