为什么要用ConcurrentHashMap?...说到HashMap,应该都不陌生,但是说到ConcurrentHashMap,新手用过的应该比较少
HashMap本身是不适合多线程的,是没有并发安全保证的,为什么呢?...说之前,来说说hash吧,其实很多人都知道,hash但是具体是什么很少有人能直接说出来
Hash:(哈希)
hash还有一个名称那就是散列,或者哈希
把任意长度的输入通过一种算法(散列),变化成为固定长度的输出...,这个输出值就是所谓的散列值.这个定义就是所谓的hash,输入压缩映射,不同的输入可能会压缩成相同的输出,容易造成哈希冲突,又叫直接取余法,
如果发生哈希冲突,有几种解决办法
1:开放寻址,
2:再散列...其他的还有
符号 31位为0表示正数,31位为1表示负数
有符号左移(左移到第31位就会消失
有符号右移(>>)
无符号右移(>>>)
其他的并发容器
ConcurrentSkipListMap