[JAVA修炼之路四]-集合(ConCurrentHashMap HashTable)
来源:互联网 发布:php输出时间 编辑:程序博客网 时间:2024/06/07 11:30
一、ConcurrentHashMap
1、结构图
2、线程安全
注意:节点数组segsments 集合。
节点数组初始化:采用volatile 变量 CAS保证线程安全。
节点数组定位:unsafe getObjectVolatile 获取头节点,通过对此节点synchronized保证线程安全
3、节点数组
为了保证数组分散均匀,采用hash值&数组大小(2的N次方-1),数组大小一定要注意
4、总结
通过数组节点的分散,枷锁颗粒化,提高了性能
二、HashTable
与ConCurrentHashMap区别:这个枷锁用synchronized 枷锁整个表
另外集合位置定位,采用取模运算
三、hashMap
采用的结构与ConCurrentHashMap 相同,但是没有枷锁
后续补充其他集合
0 0
- [JAVA修炼之路四]-集合(ConCurrentHashMap HashTable)
- 深入Java集合系列之四:ConcurrentHashMap
- 深入Java集合系列之四:ConcurrentHashMap
- [Java集合] 彻底搞懂HashMap,HashTable,ConcurrentHashMap之关联.
- [Java集合] 彻底搞懂HashMap,HashTable,ConcurrentHashMap之关联.
- Java集合分析思想(二)HashMap、HashTable、ConcurrentHashMap
- Java 集合:HashSet,HashTable,以及 ConcurrentHashMap 概念
- Java 集合:HashSet,HashTable,以及 ConcurrentHashMap 概念
- [Java集合] 彻底搞懂HashMap,HashTable,ConcurrentHashMap之关联(各大公司面试经常遇到)
- Java集合之Hashtable
- Java集合之Hashtable
- Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
- Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
- Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
- Java集合-ConcurrentHashMap(一)
- Java集合之ConcurrentHashMap实现原理
- Java集合系列19之ConcurrentHashMap
- Java集合之ConcurrentHashMap源码浅析
- ios网络功能简介
- (OK—C程序) Eclipse C/C++ — CentOS 7 + android-ndk + eclipse-cpp-mars-R
- 输入字符串的另外一种形式
- 三角形圆心算法
- FileStatus的主要方法的使用(源码)
- [JAVA修炼之路四]-集合(ConCurrentHashMap HashTable)
- 开发中用到的有用的快捷键(持续更新中...)
- 指针函数与函数指针的区别
- acm 贪心总结
- 用户唯一性的校验
- SQL Server 2008可视化设置自增主键
- HDOJ 2053-Switch Game
- Android 通过网页打开自己的APP(scheme)
- mac上搭建svn服务器