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

计算机做网站难吗八种营销模式

计算机做网站难吗,八种营销模式,wordpress输出文章标题,微商网站怎么做的1、典型回答 浅层次的来回答这个问题的答案是,JDK 源码不支持 Hashtable 插入 value 值为 null,如以下 JDK 源码所示: 也就是 JDK 源码规定了,如果你给 Hashtable 插入 value 值为 null 就会抛出空指针异常。 并且看上面的 JDK …

1、典型回答

浅层次的来回答这个问题的答案是,JDK 源码不支持 Hashtable 插入 value 值为 null,如以下 JDK 源码所示:

也就是 JDK 源码规定了,如果你给 Hashtable 插入 value 值为 null 就会抛出空指针异常。

并且看上面的 JDK 源码可以得出结论,如果 key 也为 null 的时候,因为 null 没有 hashCode 所以它也会报空指针异常,如下图所示:

2、考点分析

简单来说,Hashtable 之所以 key 不允许为 null,和 value 不允许为 nul 的原因是,JDK 源码级别做了限制,如果 Hashtable 的 key 或者 value 为 null 就会报空指针异常。

3、知识扩展

但是,我们看 JDK 源码不难发现,这些判断和错误 Hashtable 完全可以在后续的 JDK 版本中修复和调整代码,可以让其支持 key 和 value 都为 nul,为什么它没有修复这个问题呢?

深层次的原因就是,设计的 Hashtable 是在多线程下使用的,而如果 Hashtable 的 key 或 value 允许为 null 的话,那么程序就会存在二义性问题。

什么是二义性问题?

所谓的二义性问题是指含义不清或不明确。

如果我们假设 Hashtable 允许插入 null,那么此时它就会有二义性问题,这个 nu! 值就有两层含义

  1. 这个 key 不存在,所以返回 null。
  2. key 存在,并且值本身就为 nul,所以返回的就是 null。

而在多线程下,你没有办法证明真伪,因为你在判断证明的时候,其他线程可能同时做了修改,所以不能被证明的二义性问题需要从源头上杜绝,所以多线程下的 Hashtable 是不允许 key 和 value 插入 nu 值的。

ConcurrentHashMap 也是不允许插入 null,原因和 Hashtable 是一样的(因为有二义性问题)

为什么 HashMap 允许插入 null 值?

因为 HashMap 设计是在单线程下使用的,而单线程可以证明真伪,它在进行查询判断的时候,不用担心有其他线程对这个值同时做修改,所以它不存在二义性问题,所以 HashMap 允许 key 和 value 都为 null。

http://www.khdw.cn/news/11903.html

相关文章:

  • 佛山网站制作网站站长之家产品介绍
  • 广州网站搭建快速提升网站排名深圳英文网站推广
  • 网站建设 镇江推广软文300字范文
  • 杭州各类网站建设杯子软文营销300字
  • java网站开发 流程十大经典事件营销案例分析
  • 便宜机票的网站建设网站优化软件哪个好
  • 网站设计基本流程第一步怎么开通网站
  • 专业做网站企业互联网广告平台排名
  • 怎么找到合适的网站建设商电脑培训零基础培训班
  • 网站开发是什么东莞精准网络营销推广
  • 做金融网站需要什么营业执照网络营销建议
  • 网络制作网站淘宝运营培训班学费大概多少
  • 奥迪汽车建设网站网络营销毕业论文8000字
  • 网站 如何做后台维护怎么做个网站
  • 阜新本地网站建设平台徐州网站关键词排名
  • asp.net b2c网站网络营销推广方案ppt
  • 建一网站要多少钱百度网址安全检测
  • 企业网站建设联系电话爱站网站长seo综合查询工具
  • 做网站的软件有哪些大型集团网站建设公司
  • 河北建设银行招聘网站seo和网络推广有什么区别
  • 广州家具网站建设如何免费做视频二维码永久
  • 地板网站建设方案百度统计官网
  • 淘宝客做连接网站如何用手机创建网站
  • 广州高端做网站seo案例分享
  • b2b免费信息网站国内最好用免费建站系统
  • 学做网站需要多长时间沈阳seo代理计费
  • wordpress首页图文轮播淘宝怎样优化关键词
  • 做网站服务器的配置武汉关键词包年推广
  • 伊犁网站建设网站制作方案
  • 凡科网之前做的网站在哪看培训计划方案模板