mybatis中操作json类型数据 |
您所在的位置:网站首页 › mysql数据库json类型数据 › mybatis中操作json类型数据 |
关于玄武集团MOS云平台的使用笔记
KayXie863: postmsg-ump-4.1.0.jar 哪里可以下载 Minio工具类-javaB167903: 你的minio版本是8.1.0吗,为什么你可以有getObjectUrl()这个方法的? 关于redis主从复制模式下过期键的删除策略问题areafor: 作者看看书中P113的内容,是会有读到从服务器过期值的情况的,欢迎交流 hashMap长度为什么是2的幂次方人生就是一场修行.周: 第二段就说错了,因果关系说反了 [code=html] 这个算法实际就是取模,hash%length,计算机中直接求余效率不如位移运算,源码中做了优化hash&(length-1), hash%length==hash&(length-1)的前提是length是2的n次方; 为什么这样能均匀分布减少碰撞呢?2的n次方实际就是1后面n个0,2的n次方-1 实际就是n个1; 例如长度为9时候,3&(9-1)=0 2&(9-1)=0 ,都在0上,碰撞了; 例如长度为8时候,3&(8-1)=3 2&(8-1)=2 ,不同位置上,不碰撞; [/code] 这句话里面,首先前面说了hash%length==hash&(length-1)的前提是length是2的n次方才能成立,为什么要用等式转换,因为一般我们用hash散列的方式就是取余数,比如hashmap如果长度是8,2取余是2,3取余是3,但是在计算机底层取余的时间肯定比逻辑运算&的时间长,所以转换为&能更快计算取模值,所以用3&(8-1)。而长度是9的时候2、3都在0的逻辑不对,你要用上面等式转换的思想用&那9就不符合length是2的n次方,你要说我用的不是上面的等式思想,是自定义的取模公式&,那根据3和2都在0上,可以看到你这种自定义的碰撞概率高,就不适合做hash计算的公式。 hashMap长度为什么是2的幂次方人生就是一场修行.周: 第二段就说错了,因果关系说反了 [code=html] 这个算法实际就是取模,hash%length,计算机中直接求余效率不如位移运算,源码中做了优化hash&(length-1), hash%length==hash&(length-1)的前提是length是2的n次方; 为什么这样能均匀分布减少碰撞呢?2的n次方实际就是1后面n个0,2的n次方-1 实际就是n个1; 例如长度为9时候,3&(9-1)=0 2&(9-1)=0 ,都在0上,碰撞了; 例如长度为8时候,3&(8-1)=3 2&(8-1)=2 ,不同位置上,不碰撞; [/code] 这句话里面,首先前面说了hash%length==hash&(length-1)的前提是length是2的n次方才能成立,为什么要用等式转换,因为一般我们用hash散列的方式就是取余数,比如hashmap如果长度是8,2取余是2,3取余是3,但是在计算机底层取余的时间肯定比逻辑运算&的时间长,所以转换为&能更快计算取模值,所以用3&(8-1)。而长度是9的时候2、3都在0的逻辑不对,你要用上面等式转换的思想用&那9就不符合length是2的n次方,你要说我用的不是上面的等式思想,是自定义的取模公式&,那根据3和2都在0上,可以看到你这种自定义的碰撞概率高,就不适合做hash计算的公式。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |