为了账号安全,请及时绑定邮箱和手机立即绑定

请问像ConcurrentHashMap等高性能的类具体的业务使用场景是哪些?

请问像ConcurrentHashMap等高性能的类具体的业务使用场景是哪些?

料青山看我应如是 2019-05-25 17:11:45
如题,请问像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()就会有很多线程同时调用。
                            
查看完整回答
反对 回复 2019-05-25
?
临摹微笑

TA贡献1982条经验 获得超2个赞

就想其它的答案已经回答的一样,ConcurrentHashMap主要是支持多线程的读写。因为要额外的操作,所以它的性能会低于普通的HashMap,而不是高于。
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 496 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信