概述
三者均为散列表,区别如下:
1. HashMap为非线程安全的散列表,而HashTable和ConcurrentHashMap均为线程安全的散列表;
2. HashMap的key和value均可以为null,而HashTable和ConcurrentHashMap的key和value均
不可以为null;
3. HashTable是通过给整张散列表加锁的方式来保证线程安全的.这种方式在保证线程安全的同时,大大的降低了线程并发执行效率。ConcurrentHashMap在JDK1.8之前是通过分段锁机制来保证线程安全的;从JDK1.8开始使用乐观锁+Synchronized来保证线程安全。ConcurrentHashMap在不同版本中保证线程安全的方式都实现了在保证线程安全的同时提高了并发执行效率。
最后
以上就是健壮银耳汤为你收集整理的HashMap Hashtable ConcurrentHashMap的区别的全部内容,希望文章能够帮你解决HashMap Hashtable ConcurrentHashMap的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复