据我所知,在HashMap中,条目(Key,Value)基于散列(Key.hashCode)放置在桶中 - >表示存储桶位置的索引。如果条目已经放置在该位置,则创建链接列表,并且新条目(如果它具有不同的键 - >通过equals()方法)放置在链接列表的开头。
答案 0 :(得分:7)
存储桶是地图数组中的单个插槽。 HashMap
和ConcurrentHashMap
都是一样的。从概念上讲,后者将其数组分成若干段(每个段是引用数组),但这就是它。请注意,Java 8中的CHM不再具有段,它们都是单个阵列。
是的,它是称为分段锁定的方案。它减少了线程间的争用,但并没有消除它。