标签:元素 分段 竞争 cheng tps 线程安全 方法 www mic
底层数据结构:JDK1.7底层采用 数组+链表 实现。JDK1.8采用 数组+链表/红黑二叉树 实现。HashTable一直都采用的是 数组+链表 的形式,数组是HashMap的主体,链表主要是解决冲突而存在的。
实现线程安全的方式:
JDK1.7分段锁:
JDK1.8实现:TreeBin:红黑二叉树节点 Node:链表节点
synchronized
来保证数据安全。效率低下,当一个线程访问同步方法时,其他线程也访问同方法,可能会进入阻塞或轮询的状态。例如put添加元素,另一个线程就不能使用put,也不能使用get,效率低下。HashTable实现:
ConcurrentHashMap和HashTable的区别?
标签:元素 分段 竞争 cheng tps 线程安全 方法 www mic
原文地址:https://www.cnblogs.com/lijiahaoAA/p/12517318.html