diff --git a/docs/java/这几道Java集合框架面试题几乎必问.md b/docs/java/这几道Java集合框架面试题几乎必问.md index 18d276c4..af094e46 100644 --- a/docs/java/这几道Java集合框架面试题几乎必问.md +++ b/docs/java/这几道Java集合框架面试题几乎必问.md @@ -250,7 +250,7 @@ static class Segment extends ReentrantLock implements Serializable { ### JDK1.8 (上面有示意图) -ConcurrentHashMap取消了Segment分段锁,采用CAS和synchronized来保证并发安全。数据结构跟HashMap1.8的结构类似,数组+链表/红黑二叉树。 +ConcurrentHashMap取消了Segment分段锁,采用CAS和synchronized来保证并发安全。数据结构跟HashMap1.8的结构类似,数组+链表/红黑二叉树。Java 8在链表长度超过一定阈值(8)时将链表(寻址时间复杂度为O(N))转换为红黑树(寻址时间复杂度为O(long(N))) synchronized只锁定当前链表或红黑二叉树的首节点,这样只要hash不冲突,就不会产生并发,效率又提升N倍。