当前位置: 首页 > news >正文

企业网站建设客户需求调查问卷/项目宣传推广方案

企业网站建设客户需求调查问卷,项目宣传推广方案,oppo手机开发者选项在哪,做的网站怎样更新Hashtable是java一开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。虽然Hashtable比HashMap出现的早一些,但是现在Hashtable基本上已经被弃用了。而HashMap已经成为应用最为广泛的一种数据类型了。造成这样的原因一方面是因为Hashtable是线…
Hashtable是java一开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。虽然Hashtable比HashMap出现的早一些,但是现在Hashtable基本上已经被弃用了。而HashMap已经成为应用最为广泛的一种数据类型了。造成这样的原因一方面是因为Hashtable是线程安全的,效率比较低。也可能是Hashtable开始设计的时候没有遵循驼峰命名法。
1、父类不同:
HashMap是继承自AbstractMap类,而HashTable是继承自Dictionary。不过它们都实现了同时实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口。
Hashtable比HashMap多提供了elments() 和contains() 两个方法。
elments() 方法继承自Hashtable的父类Dictionnary。elements() 方法用于返回此Hashtable中的value的枚举。
contains()方法判断该Hashtable是否包含传入的value。它的作用与containsValue()一致。事实上,contansValue() 就只是调用了一下contains() 方法。
2、null值问题
Hashtable既不支持Null key也不支持Null value。Hashtable的put()方法的注释中有说明 。
HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,可能是 HashMap中没有该键,也可能使该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。
3、线程安全性
Hashtable是线程安全的,它的每个方法中都加入了Synchronize方法。在多线程并发的环境下,可以直接使用Hashtable,不需要自己为它的方法实现同步
HashMap不是线程安全的,在多线程并发的环境下,可能会产生死锁等问题。具体的原因在下一篇文章中会详细进行分析。使用HashMap时就必须要自己增加同步处理,
虽然HashMap不是线程安全的,但是它的效率会比Hashtable要好很多。这样设计是合理的。在我们的日常使用当中,大部分时间是单线程操作的。HashMap把这部分操作解放出来了。当需要多线程操作的时候可以使用线程安全的ConcurrentHashMap。ConcurrentHashMap虽然也是线程安全的,但是它的效率比Hashtable要高好多倍。因为ConcurrentHashMap使用了分段锁,并不对整个数据进行锁定。
tip:HashMap是JDk1.2之后有的,而在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。也就就是有了ConcurrentHashMap
4、遍历方式不同
Hashtable、HashMap都使用了Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。
HashMap的Iterator是fail-fast迭代器。当有其它线程改变了HashMap的结构(增加,删除,修改元素),将会抛出ConcurrentModificationException。不过,通过Iterator的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。
JDK8之前的版本中,Hashtable是没有fast-fail机制的。在JDK8及以后的版本中 ,Hashtable也是使用fast-fail的。(可以去看一下1.5和1.8JDK源码的对比)
5、初始容量不同
Hashtable的初始长度是11,之后每次扩充容量变为之前的2n+1(n为上一次的长度)
而HashMap的初始长度为16,之后每次扩充变为原来的两倍
创建时,如果给定了容量初始值,那么Hashtable会直接使用你给定的大小,而HashMap会将其扩充为2的幂次方大小。

转载于:https://www.cnblogs.com/ly-0919/p/10904598.html

http://www.lbrq.cn/news/1252675.html

相关文章:

  • 高端网站的制作/网络推广服务合同
  • 安防网站建设/沈阳网络seo公司
  • 重庆招聘网/seo长尾关键词优化
  • 朝阳区网站建设推广seo/北京seo优化wyhseo
  • 网站建设佰金手指科杰二九/百度投放广告
  • 网站建设静态代码/天津seo招聘
  • 网站建设行业/什么是竞价
  • 网站建设公司 南宁/防恶意竞价点击软件
  • 做网站的靠什么挣钱/windows优化大师官方网站
  • 做一名网站编辑要具备什么资格/百度手机网页版入口
  • 销售人员报销网站开发费/站长统计app网站
  • 手机网站制作免费/谷歌浏览器官网下载手机版
  • 建网站需成本多少钱/金华关键词优化平台
  • 基于django电商网站开发课设报告/微信营销系统
  • 建设一个网站多少钱/白帽优化关键词排名seo
  • 用net做新闻网站/网站快速优化排名app
  • 做自己的网站怎么赚钱/长清区seo网络优化软件
  • 企业网站优化之如何做需求分析/新闻热点
  • 二级a做爰片免费网站/营销推广费用方案
  • 青岛公司建网站公司/超级seo外链工具
  • 购物网站建设流程/营销活动策划方案
  • 国外做宠物产品的网站/整合营销方案
  • 网站的面包屑怎么做的/怎么推广产品最有效
  • 网站建设规划方案模板/短视频seo推广
  • 上海做网站的公司多少钱/个人如何推广app
  • 一家专做中式设计的网站/百合seo培训
  • 网站建设 东道网络/推广链接点击器
  • 做网站开发一般用什么语言/太原seo公司
  • 大型网站建设建设公司/如何自己建个网站
  • 最近新闻报道/seo网络营销外包公司
  • 生成网站sitemap.xml地图教程
  • 【关于Java的泛型(基础)】
  • 鼠标下滑时回跳问题
  • 科技云报到:Agent应用爆发,谁成为向上托举的力量?
  • 前端保持和服务器时间同步的方法【使用vue3举例】
  • 深入浅出 RabbitMQ-路由模式详解