ConcurrentHashMap,HashMap,HashTable三者的区别

Hashtable 和 Hashmap 的区别

1.hashtable底层使用synchronize来进行修饰的,所以它是线程安全的,同步的,又由于它是线程安全的,所以它的效率较低
2.hashmap底层没用synchronize来进行修饰的,所以它是线程不安全的,不同步的,又由于它是不线程安全的,所以它的效率较搞
3.两者都继承与map接口,所以两者的遍历方式大同小异
4.hashtable不允许空值null,而hashmap可以是空值

HashMap 和 ConCurrentHashMap 区别

1.ConcurrentHashMap是采用分段锁机制,所以它是线程安全的,而Hashmap是不是线程安全的
2.ConcurrentHashMap是把整个数据分割成segment,然后每一个segment数据上都有锁,在通过这个segment来操作每一个Entry数据
而HAshMap则不是这样的,它是将数据整个进行操作,且没有进行加锁控制

猜你喜欢

转载自blog.csdn.net/qq_42454111/article/details/88294666