如题,请问像ConcurrentHashMap等高性能的类具体的业务使用场景是哪些?平时我们写代码的时候用得最多的一般是HashMap,也习以为常了可是Java里有其他的高性能的Map,感觉平时也用不到百度了一下,只看到了HashMap和ConcurrentHashMap的区别却不晓得哪些具体的业务使用场景会用到这些类因此感觉有些茫然,希望前辈能指导一下,谢谢
2 回答
萧十郎
TA贡献1815条经验 获得超13个赞
ConcurrentHashMap专门是给多个线程访问的。举个例子://在线用户管理类publicclassUserManager{privateMapuserMap=newConcurrentHashMap<>(); //当用户登入时调用publicvoidonUserSignIn(StringsessionId,Useruser){this.userMap.put(sessionId,user);}//当用户登出或超时时调用publicvoidonUserSignOut(StringsessionId){this.userMap.remove(sessionId);}publicgetUser(StringsessionId){returnthis.userMap.get(sessionId);}}当有很多用户同时登入和登出时,onUserSignIn()和onUserSignOut()就会有很多线程同时调用。
临摹微笑
TA贡献1982条经验 获得超2个赞
就想其它的答案已经回答的一样,ConcurrentHashMap主要是支持多线程的读写。因为要额外的操作,所以它的性能会低于普通的HashMap,而不是高于。
添加回答
举报
0/150
提交
取消