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

做网站linux主机修改wordpress主题登陆页面

做网站linux主机,修改wordpress主题登陆页面,怎么做一个简单的网站,自己制作一个网站的软件文章目录 1、HashMap 设置值的原理2、HashMap 获取值原理3、HashMap Hash优化4、HashMap 寻址优化5、HashMap 是如何解决Hash冲突的#xff1f;5.1 get数据的时候#xff0c;如果定位到指定位置的元素是一个链表#xff0c;怎么办呢#xff1f;5.2 红黑树 6、数组扩容6.1 数… 文章目录 1、HashMap 设置值的原理2、HashMap 获取值原理3、HashMap Hash优化4、HashMap 寻址优化5、HashMap 是如何解决Hash冲突的5.1 get数据的时候如果定位到指定位置的元素是一个链表怎么办呢5.2 红黑树 6、数组扩容6.1 数组长度为16计算index6.2 数组长度为32 计算index6.3 扩容总结 1、HashMap 设置值的原理 根据key计算HashCode再使用HashCode对 数组长度取模结果一定是存放到数组中 的某一个位置。得到指定位置索引之后就往指定位置设置数据即可。 2、HashMap 获取值原理 根据key计算hashCode,再使用hashCode对 数据长度取模得到一个数组索引然后再根据索引从数组中获取指定数据即可。 3、HashMap Hash优化 // JDK 1.8以后的HashMap里面的一段源码static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hashCode()) ^ (h 16); }答案hash数组一般不会太大使用 key 的hashCode 和 key的hashCode 右移16位 进行异或运算的目的就是让 高低16位都参与运算减少hash冲突 4、HashMap 寻址优化 hash (n - 1)当n为2的n次方的时候 hash (n - 1) hash % n 答案hash (n - 1) - 效果是跟hash对n取模效果是一样的但是与运算的性能要比hash对n取模要高很多数学问题数组的长度会一直是2的n次方只要他保持数组长度是2的n次方 5、HashMap 是如何解决Hash冲突的 使用链表法解决。在数据的指定位置挂一个链表这个链表里放多个元素让多个 key-value 放在数据的同一个位置 5.1 get数据的时候如果定位到指定位置的元素是一个链表怎么办呢 get 的时候如果定位到数组发现这个位置挂了一个链表哦此时就会遍历 链表从链表里面选择到自己需要的那个 kye-value 就可以了。 5.2 红黑树 为了解决hash冲突的问题就会在 数据的指定为值挂一个链表如果链表的长度达到了一定的长度之后就会将链表转换成红黑树通过遍历一颗红黑树找到一个元素此时时间复杂度是 O(logn), 性能比链表要高一些。如果链表过长遍历的性能不高因此当链表长度超过一定限制的时候就会将链表转换成红黑树提升搜索性能。 6、数组扩容 6.1 数组长度为16计算index n - 1 0000 0000 0000 0000 0000 0000 0000 1111 hash1 1111 1111 1111 1111 0000 1111 0000 01010000 0000 0000 0000 0000 0000 0000 0101 5index 5的位置n - 1 0000 0000 0000 0000 0000 0000 0000 1111 hash2 1111 1111 1111 1111 0000 1111 0001 01010000 0000 0000 0000 0000 0000 0000 0101 5index 5的位置6.2 数组长度为32 计算index n-1 0000 0000 0000 0000 0000 0000 0001 1111 hash1 1111 1111 1111 1111 0000 1111 0000 0101 结果 0000 0000 0000 0000 0000 0000 0000 0101 5index 5的位置n-1 0000 0000 0000 0000 0000 0000 0001 1111 hash2 1111 1111 1111 1111 0000 1111 0001 0101 结果 0000 0000 0000 0000 0000 0000 0001 0101 21index 21的位置6.3 扩容总结 数据扩容 - 2倍扩容 - 重新对map中的每一个元素进行寻址-通过判断二进制结果是否多出来了一个bit为判断index的位置是否变化 如果数组的长度扩容之后 32重新对每个hash值进行寻址也就是用每个hash值跟新数组的length - 1进行与操作 判断二级制结果是否多出来一个bit的1如果没有多那么还是原来的index如果多了出来那么新的index oldIndex oldCap通过这个方法避免了rehash的时候用每个hash对数据的长度进行取模取模的性能不高位运算的性能比较高。
http://www.w-s-a.com/news/76053/

相关文章:

  • 电商网站设计图片素材p2p网站建设石家庄
  • 莲塘网站建设如何文字推广一个婚恋网站
  • 医院网站建设工作汇报WordPress不发邮件了
  • 怎么做外语网站个人网页设计作品ps
  • 网站原型怎么做vps如何建两个网站
  • 商城网站建设源码嘉兴seo计费管理
  • 城乡建设网站证件查询系统wordpress 时间代码
  • php网站建设 关键技术做网站哪家正规
  • 网站开发用什么写得比较好谷歌的英文网站
  • 青岛网站建设公司在哪vivo手机商城
  • 兼职刷客在哪个网站做哪个网站做淘宝客
  • 眼科医院网站开发网络营销特点是什么
  • 提交网站给百度增加wordpress插件
  • 网站建设企业官网体验版是什么Wordpress哪个模板最快
  • 美丽说网站模板湖北可以做网站方案的公司
  • 北京西站进站最新规定建设网站的提成是多少
  • wordpress站点如何加速网站建设描述怎么写
  • 如何免费建造网站免费vi模板网站
  • 商丘做网站多少钱扬州大发网站建设
  • 网站建设哪家性价比高自己做项目的网站
  • 成立一个网站济宁营销型网站建设
  • 南通购物网站建设设计类平台网站
  • 专业网站建设咨询thinkphp网站源码下载
  • 怎么制作一个国外网站网站推广找哪家公司好
  • 免费做网站怎么做网站想在网上卖东西怎么注册
  • 淘宝网站建设的策划书网投怎么做网站
  • 如何免费做公司网站视频网站开发视频
  • 网站后台是怎么更新wordpress 大于2m的xm
  • 制作网页设计软件列表案例营销网站优化seo
  • 住房和建设建设局网站报告长官夫人在捉鬼