首页
学习
活动
专区
工具
TVP
发布

IT架构圈

公众号:IT架构圈
专栏作者
831
文章
735361
阅读量
132
订阅数
一文读懂JAVA并发容器类ConcurrentHashMap
PS:不管是1.7的hashMap还是ConcurrentHashMap,源码的可读性变差。目前基本都是jdk1.8就没有说1.7的事情,毕竟事务都是在进化的。里面用到了很多数据结构,数据结构说难也不难,说容易也不容易,它本身就是人的思维的一种体现。好像说走路方式一样,怎么走都可以到指定的地方,但是方法不一样,数据结构就是通过更加科学方式来进行,归根到底还是看我的【数据结构与算法】专题。数据结构给你,通过算法来进行查找,如果是遍历的方式来查,可能相对于hash的形式要差一些。
IT架构圈
2020-10-10
6410
一文读懂JAVA并发容器类HashMap
1、对Key求Hash值,然后再计算下标。 2、如果没有碰撞(存在,链地址法),直接放入桶中(碰撞的意思是计算得到的Hash值相同,需要放到同一个bucket中)、 3、如果碰撞了,以链表的方式链接到后面。 4、如果链表长度超过阀值( TREEIFY THRESHOLD==8),就把链表转成红黑树,链表长度低于6,就把红黑树转回链表。 5、如果节点已经存在就替换旧值。 6、如果桶满了(容量16*加载因子0.75),就需要 resize(扩容2倍后重排)。
IT架构圈
2020-08-27
3760
『互联网架构』软件架构-解密电商系统-秒杀安全优化与限流防刷(80)
解决方案:如果通过redis接口的检验后,放入异步消息队列中,也就是基本放入消息队列的情况下,不出意外都可以可以下单的。后端队列慢慢处理。在加入队列增加一个排队的标记miaoshawaituserId_productId,设置一个合理的超时时间。先看看是否有排队标记,有就继续轮训,没有查订单, 有订单返回成功,没有订单说明异常了。
IT架构圈
2019-06-17
6020
『互联网架构』软件架构-分布式系列并发编程atomic&collections(31)
1.CAS指的是现代CPU广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。这个指令会对内存中的共享数据做原子的读写操作。在Java并发应用中通常指CompareAndSwap或CompareAndSet,即比较并交换,是实现并发算法时常用到的一种技术。java.util.concurrent包中借助CAS实现了区别于synchronized同步锁的一种乐观锁。乐观锁就是每次去取数据的时候都乐观的认为数据不会被修改,因此这个过程不会上锁,但是在更新的时候会判断一下在此期间的数据有没有更新
IT架构圈
2019-05-07
3480
『互联网架构』软件架构-分布式系列并发编程atomic&collections(31)
1.CAS指的是现代CPU广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。这个指令会对内存中的共享数据做原子的读写操作。在Java并发应用中通常指CompareAndSwap或CompareAndSet,即比较并交换,是实现并发算法时常用到的一种技术。java.util.concurrent包中借助CAS实现了区别于synchronized同步锁的一种乐观锁。乐观锁就是每次去取数据的时候都乐观的认为数据不会被修改,因此这个过程不会上锁,但是在更新的时候会判断一下在此期间的数据有没有更新
IT架构圈
2019-03-19
4430
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档