如果面试官问你HashMap和ConcurrentHashMap以及HashTable的区别以及实现原理

本小妞迷上赌 提交于 2019-12-11 23:27:36

1:HashMap是线程不安全的
ConcurrentHashMap是线程安全的
HashTable是线程安全的

HashMap是数组加链表的方式实现的,根据传递过来的key获取这个key的hash值,然后通过一些运算,获取这个key的索引位置,将该值放在这个索引的链表集合里面,查询的时候也是这样先拿到索引位置,然后去链表集合里面去获取。

HashTable
HashTable也是通过数组加链表的方式实现的,但是他实现同步的方式是锁住整个Hash表,效率很慢

ConcurrentHashMap也是通过数组加链表的方式实现的,这些链表集合里面存在一些分段锁的操作,达到数据一致性

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!