文档章节

HashMap的同步操作

许雷神
 许雷神
发布于 2015/05/23 11:04
字数 354
阅读 170
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

HashMap是大家很常用的一个Map,所以都认为他是很好用的一个Map,也就不去想他是否存在一些不合理的地方,像我刚刚看到这个错误的时候,我也是直接忽略掉,但是根据后来的详细了解,发现了HashMap的一些问题,在一些情况下是不能使用的。
首先HashMap是个非线程安全的函数,我们做web项目,一个请求进来,其实就相当于一个线程了,当很多线程对一个Hashmap又put又get的时候,CPU会很不稳定,因为每Put一次都会对map扩容一次,并且多多线程操作的时候,会有冲突.
所以解决办法有两个,我现在是用的第一个
1.将hashMap换成ConcurrentHashMap ,ConcurrentHashMap是线程安全的一个函数,并且执行效率挺高
2.在使用map的get或者put的时候,加上synchronized 同步块,这样可以导致多线程的冲突,大家都知道 一般加了synchronized 都需要排队执行的,所以执行效率比较低

1.key 为 String类型的时候,concurrenthashmap 比 hashMap 更快!
2.key 为int类型的时候比Key为String的要快很多!因为String的话 java还会对他做下hashcode的操作,所以如果key能放int 尽量放int


许雷神
粉丝 7
博文 13
码字总数 0
作品 0
广州
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
首列固定的列表

实现特殊的表格(UITableView)效果:即表格中的首列固定不动,而每一行除了首列均可左右拖动,以展现每一行更多内容。 作者谭林江(@无法越狱的痛)说:去益盟面试回来,感觉聊得有点郁闷,...

匿名
2013/01/24
1.3K
0
阿里云开放存储服务的C语言SDK--OSSC

OSSC(Aliyun Open Storage Service C SDK)为阿里云开放存储服务(OSS)提供了一套完整易用的C SDK。 OSSC完全采用C语言开发,并实现了类似面向对象的调用方式,遵循了良好的编码规范,目前O...

大卷卷
2012/10/22
4.6K
0
半同步/半异步的Tcp Server--LightningServer

这是一个半同步/半异步的Tcp Server. 支持以下特性: 1.使用了libevent库,支持大并发网络请求; 2.网络操作与数据处理分离; 3.使用线程池进行数据处理; 4.目前支持tcp数据流的解包操作: 4....

扫帚的影子
2012/12/24
2.8K
0
磁盘映像文件操作工具--vidma

vidma 是一个用来操作虚拟磁盘映像文件的工具,可显示映像文件的基本信息并可重新更改大小。当前支持的格式只有 VDI (Virtual Disk Image) ,该格式主要用于 VirtualBox....

匿名
2013/01/03
797
0

没有更多内容

加载失败,请刷新页面

加载更多

使用旁路输出(side output)来拆分和复制流

  我们在处理数据的时候,有时候想对不同情况的数据进行不同的处理,那么就需要把流进行拆分或者复制。 如果是使用filter来进行拆分,也能满足我们的需求,但每次筛选都要保留整个流,然后...

osc_ct0tt1cu
44分钟前
18
0
Azure AD 与 AWS IAM 集成实现SSO—上(Azure部分)

整体的架构和流程是下面这个样子: Azure部分: 登录Azure的portal通过Azure Active Directory创建一个测试用户: 返回Azure Active Directory 创建新的应用程序 Amazon Web Service 搜索 Am...

osc_bgs3qxk5
46分钟前
0
0
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

再回顾一下架构,我们都要做什么,别乱: 看来在AWS上做的工作要多一些。 登录AWS控制台: 进入到IAM这个服务: 在配置提供程序中,选择SAML,提供商名称自定义,比如WAAD,将刚才下载的元数...

osc_ibuoui1c
47分钟前
0
0
AWS DevOps 通过Config自动审计Security Group配置——上篇

这个实验的一个场景是,运维同事设计安全组Security Group的时候,打开了除了HTTP和HTTPS的入口访问权限。其他协议或端口如果打开,除了审计不通过的同时,会自动触发一个函数将它修改成我们...

osc_l330x9u1
48分钟前
3
0
AWS DevOps 通过Config自动审计Security Group配置——下篇

再讲一下背景, 这个实验的一个场景是,运维同事设计安全组Security Group的时候,打开了除了HTTP和HTTPS的入口访问权限。其他协议或端口如果打开,除了审计不通过的同时,会自动触发一个函数...

osc_cudh2wh2
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部