都实现了Map接口
存放key-value键值对
HashMap没有实现同步,线程不安全。
比如put操作,先计算出来key的hash值,找出了在桶中对应的位置,然后遍历当前位置的链表的元素,如果有相同的key,则替换value,如果没有,则调用addEntry方法,添加一个key-vaule,并指向链表位置。
HashTable是对整个桶进行加锁,ConcurrentHashMap是将这个桶分成了几个块,对每个块进行加锁
都实现了Map接口
存放key-value键值对
HashMap没有实现同步,线程不安全。
比如put操作,先计算出来key的hash值,找出了在桶中对应的位置,然后遍历当前位置的链表的元素,如果有相同的key,则替换value,如果没有,则调用addEntry方法,添加一个key-vaule,并指向链表位置。
HashTable是对整个桶进行加锁,ConcurrentHashMap是将这个桶分成了几个块,对每个块进行加锁
转载于:https://my.oschina.net/YoYoo/blog/479051