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

现代农业园网站建设方案江西省都昌县建设局网站

现代农业园网站建设方案,江西省都昌县建设局网站,重庆网站运营公司,公司在网上做网站怎么做账我们都知道#xff0c;hashMap在实现的时候#xff0c;为了寻找在数组上的位置#xff0c;主要做了两件事 int hash hash(key); int i indexFor(key, table.length); 这个时候得到i才是数组上的位置。 这两个方法详解如下 JDK8对扰动函数的修改#xff0c;只进行了一次移…我们都知道hashMap在实现的时候为了寻找在数组上的位置主要做了两件事 int hash hash(key); int i indexFor(key, table.length); 这个时候得到i才是数组上的位置。   这两个方法详解如下 JDK8对扰动函数的修改只进行了一次移位又移16bit再和key.hashCode()做异或如图 static final int hash(Object key){int h;return (key null) ? 0 : (h key.hashCode()) ^ (h 16);} 这个散列值是不能直接拿来用的。用之前还要先做对数组的长度取模运算得到的余数才能用来访问数组下标。源码中模运算是在这个indexFor( )函数里完成的。 bucketIndex indexFor(int h, table.length); 其中IndexFor代码 1 static int indexFor(int h, int length){ 2 return h (length - 1); 3 } indexFor代码正好解释了为什么HashMap的数组长度要取2的整次幂。因为这样数组长度-1正好相当于一个“低位掩码”。“与”操作的结果就是散列值的高位全部归零只保留低位值用来做数组下标访问。以初始长度16为例16-115。2进制表示是00000000 00000000 00001111。和某散列值做“与”操作如下结果就是截取了最低的四位值。 但这时候问题就来了这样就算我的散列值分布再松散要是只取最后几位的话碰撞也会很严重。更要命的是如果散列本身做得不好分布上成等差数列的漏洞恰好使最后几个低位呈现规律性重复就无比蛋疼。 这时候“扰动函数”的价值就体现出来了说到这里大家应该猜出来了。看下面这个图 右位移16位正好是32bit的一半自己的高半区和低半区做异或就是为了混合原始哈希码的高位和低位以此来加大低位的随机性。而且混合后的低位掺杂了高位的部分特征这样高位的信息也被变相保留下来。 JDK 7做了4次右移估计是边际效应的原因JDK8就只做了一次右移。 另外 JDK8在链表长度超过8的时候就使用红黑树做存储。这一改变大大优化了很多性能。转载于:https://www.cnblogs.com/lycroseup/p/7344321.html
http://www.huolong8.cn/news/187850/

相关文章:

  • 手机里面的网站怎么制作网站为什么做静态
  • 怎么把网站上传到空间做鞋子有什么好网站
  • 微信做一元云购网站大航母网站建设怎么样
  • 音乐网站建设论文数据网站建设工具模板
  • 织梦网站登录市场营销策略是什么
  • 临沂市住房和城乡建设厅网站抖音logo在线设计生成器免费
  • 中山建网站价格河南网站建设哪家公司好
  • 如何做网站推广广告网站曝光率
  • 南阳网站seo设计网页的快捷网站
  • 做网站属于什么专业做微商有哪些网站可以免费宣传
  • 网站开发做网站高端网站建设需要多少钱
  • 怎么用ftp修改网站图片网站更换域名注意事项
  • wordpress 多站点建站教程顺平网站建设
  • 网站建设的简要任务执行书网站怎么做全屏的
  • 自己的网站做怎样的优化调整长沙水业网站是哪家公司做的
  • 网站建设行业新闻手机网站的视频怎么才能下载
  • 先做网站再付款设计师共享平台
  • 制作论坛类网站模板创意设计公司业务范围
  • flash网站模板带后台舒城县建设局网站
  • 群晖wordpress站点地址绍兴网站建设价格
  • 有哪些简单的网站中铁建设集团有限公司
  • 俄罗斯网站域名注册泰安网络推广平台
  • 青浦区网站建设万能短视频素材库
  • 怎么查看什么公司做的网站吗阿里建设网站
  • 微信网站开发语言搜索引擎优化指的是什么
  • 网站开发教程收费版企业网站管理系统多站多语言版
  • 中国建设银行辽宁分行网站企业邮箱什么样子
  • wordpress 获取标签所有文章重庆网站seo推广公司
  • 理财平台网站建设网站上的链接怎么做的
  • 公司做竞拍网站的收入怎么报税广告代运营公司