java HashMap HashTable ConcurrentHashMap总结 AfterChristmas 2019-08-31 147 阅读1分钟 HashMap 内部结构是数组+单链表+红黑树,当key的哈希值相同时会存入到链表中,当单个链表超过阈值时会转化为红黑树来存储 当单个红黑树上的元素超过阈值时会进行数组的转移 非线程安全的 HashTable 内部数据结构和HashMap类似 线程安全的,加的是对象锁 ConcurrentHashMap 1.7使用的是segment 1.8未使用 当HashCode相同时,会遍历链表,并把元素插入到链表的尾部 锁加在了对应数组的元素上,也就是链表的头节点上