千家信息网

java中HashMap、Hashtable、ConcurrentHashMap的原理与区别

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,本篇内容介绍了"java中HashMap、Hashtable、ConcurrentHashMap的原理与区别"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一
千家信息网最后更新 2024年11月29日java中HashMap、Hashtable、ConcurrentHashMap的原理与区别

本篇内容介绍了"java中HashMap、Hashtable、ConcurrentHashMap的原理与区别"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

我们先进行Hashtable与HashMap的比对:

Hashtable与HashMap,他们之间的最大的区别在与Hashtable是线程安全的,而HashMap不是线程安全的,Hashtable是在java开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。现在Hashtable基本已经失去了使用常见,究其原因第一可能是因为效率慢,但还有很大一部分原因估计是因为没有遵循驼峰命名。说实话,我这个强迫症看着他就非常难受!其他还有一些不同就是他们的父类也不一样,HashMap是继承自AbstractMap类,而Hashtable继承自Dictionary类,还有就是Hashtable无论是key还是value都不能为null,实现线程安全的时候是锁住整个Hashtable,效率超级低。果然,没人用的东西必然有不可取之处。

我们再来看看ConcurrentHashMap:

hashMap与ConcurrentHashMap,他们之间的区别其实跟hashtable与hashMap的区别差不多,也是ConcurrentHashMap是线程安全的,但是hashtable是使用的是synchronized关键字,而ConcurrentHashMap使用的是分段锁技术,他融合了hashMap与synchronized的优点,ConcurrentHashMap默认将hash表分为16个区间,正常的操作只需要使用到当前的区间,这样看来,原来只能一个线程进入的,现在却能16个线程同时进入,读线程几乎不受任何影响,写入才会锁定,性能的提升简直不可同日而语。

"java中HashMap、Hashtable、ConcurrentHashMap的原理与区别"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

线程 安全 原理 之间 内容 区间 原因 就是 效率 更多 知识 不同 实用 很大 最大 难受 不可同日而语 学有所成 差不多 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 jpa不识别数据库的字段 亳州教学视频系统服务器 北京网络安全周闭幕式 网络服务器配置安全 杨浦区软件开发中心 榆林网络安全协会会长贾 服务器有什么要求 网络安全期刊怎么样 数据库ip地址是什么类型 数据库技术解决的问题不包括 榆林第五届市网络安全宣传周 网络技术公司 数据库中如何创建函数吗 海南超频服务器产品介绍 威海唐生互联网科技有限公司 长城宽带网络技术 云数据库可以节省吗 西门子苏州网络安全 数据库的查询语句设置默认值 软件开发oopoodoo 网络安全手抄报有格子 网络安全手抄报简单又好画带文字 喀秋莎更新显示无法访问服务器 数据库技术及应用第二章 数据库表为什么不设置外键 软件开发产权共有 税率 天马时空网络技术有限公 笔记本电脑装数据库写代码 16岁学网络技术好不好 连接数据库时的用户名和密码
0