hashmap的前世今生
嘿丷如歌
这个作者很懒,什么都没留下…
展开
-
JDK8 ConcurrentHashMap 源码阅读:put( )
【代码】JDK8 ConcurrentHashMap 源码阅读:put( )原创 2023-06-13 15:57:48 · 116 阅读 · 0 评论 -
JDK8 ConcurrentHashMap 怎么放弃 Lock 使用 synchronized 了
对象头 Mark Word(标记字段)原创 2023-06-12 15:41:37 · 776 阅读 · 0 评论 -
JDK8 中 ConcurrentHashMap 变化
该节点的 hash 值固定为-2,存储实际数据的红黑树的根节点。正常的写操作都需要对 hash 桶的第一个节点进行加锁,如果 hash 桶的第一个节点为 null 时是无法加锁的,因此需要 new 一个ReservationNode 节点,作为 hash 桶的第一个节点,对该节点进行加锁。(JDK7 的 ConncurrentHashMap 的 Segement 数组长度固定不扩容,扩容的每个 HashEntry 数组的容量,此时不需要考虑并发,因为到这里的时候,是持有该 Segment 的独占锁的)原创 2023-06-12 15:15:28 · 891 阅读 · 0 评论