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

莱芜网站建设价格温州网凝科技有限公司

莱芜网站建设价格,温州网凝科技有限公司,南宁网站设,上海地区网站建设1、典型回答 浅层次的来回答这个问题的答案是#xff0c;JDK 源码不支持 Hashtable 插入 value 值为 null#xff0c;如以下 JDK 源码所示#xff1a; 也就是 JDK 源码规定了#xff0c;如果你给 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! 值就有两层含义 这个 key 不存在所以返回 null。key 存在并且值本身就为 nul所以返回的就是 null。 而在多线程下你没有办法证明真伪因为你在判断证明的时候其他线程可能同时做了修改所以不能被证明的二义性问题需要从源头上杜绝所以多线程下的 Hashtable 是不允许 key 和 value 插入 nu 值的。 ConcurrentHashMap 也是不允许插入 null原因和 Hashtable 是一样的因为有二义性问题 为什么 HashMap 允许插入 null 值? 因为 HashMap 设计是在单线程下使用的而单线程可以证明真伪它在进行查询判断的时候不用担心有其他线程对这个值同时做修改所以它不存在二义性问题所以 HashMap 允许 key 和 value 都为 null。
http://www.zqtcl.cn/news/700053/

相关文章:

  • 百度网站建设平台微盟微商城官网
  • 三明网站seo上海中学分数线
  • 青岛谷歌网站建设网站建站公司排名
  • 成都旅游网站建设规划windows优化大师官方
  • 福永网站建设公司哪家好财务公司承兑汇票
  • 青岛快速建站模板制作公司网页什么价位
  • 网站建设公司的经营范围wordpress设置文本编辑器
  • 做网站用微软雅黑侵权吗wordpress 同类文章
  • 免费下载建设银行官方网站自己做网站犯法吗
  • 手机网站html代码附近做广告牌的店
  • 建设和优化网站的步骤wordpress 模板 含数据库
  • 太原制作网站的工作室wordpress弹幕播放器
  • 英语网站开发菏泽做网站优化的
  • 宜昌建设网站公司做网站语言服务器 空间
  • 湖南做网站价格广州网站建设哪家便宜
  • 建筑工程素材资源网站中山做网站建设联系电话
  • 做网站关键词集团网站群建设方案
  • 网站开发有哪些课程网站开发好要租服务器吗
  • 鲜花店网站建设的规模设想网站之间的差异
  • 网站怎么在百度做推广郑州建网站
  • 机关门户网站建设顺义做网站
  • 网站开发公司东莞环球军事头条
  • 企业网站管理系统添加教程如何用python开发网页
  • 公司网站建设需要资质wordpress admin
  • 万维网网站301重定向怎么做国家城乡建设规划部网站
  • 现在的网站内容区域做多宽俄文网站开发翻译
  • 上海闵行建设局官方网站做电影网站的流程
  • 怎样做水族馆网站wordpress第三方订阅地址
  • 东莞做网站注意事项如何查网站的百度快照
  • 做资源网站需要什么郑州哪有做网站的公司