ConcurrentHashMap采用了分段锁的机制,将一个HashMap分为若干个Segment,然后每个Segment有一个Entry的数组,作为内部的HashTable。
而Level则是确定Segment数目的一个变量,在JDK中的解释是有多少线程并发地修改Map,这个值最好要设置为多少。如果设置的过高则会浪费空间和时间。
浪费空间容易理解,但是时间呢?
ConcurrentHashMap采用了分段锁的机制,将一个HashMap分为若干个Segment,然后每个Segment有一个Entry的数组,作为内部的HashTable。
而Level则是确定Segment数目的一个变量,在JDK中的解释是有多少线程并发地修改Map,这个值最好要设置为多少。如果设置的过高则会浪费空间和时间。
浪费空间容易理解,但是时间呢?