某软件公司——一面总结

应聘岗位:Java软件开发

具体的问法记不太清楚了,大概就是以下的问题

1. 8种基本数据类型:

假定最后计算出的 index 的值是2,那么结果如下:

如何实现一个尽量均匀分布的Hash函数呢通过利用Key的HashCode值来做某种运算。

我们以值为“book”的Key来演示整个过程:
1. 计算book的hashCode的值,结果为十进制的3029737,也就是二进制的
2. 假如HashMap的长度是默认的16,计算Length-1的结果为十进制的15,二进制的
3. 把以上两个结果做&操作,,十进制是9,所以。可以说Hash算法最终得到的index结果完全取决于Key的HashCode值得最后几位。这里的位运算其实也是一种快速取模算法。
9.4 HashMa的size为什么一定是2的幂strong>
这是因为2的幂用二进制表示时所有的位都为1,例如16-1=15的二进制就是1111B。我们说了Hash算法是为了让hash的分布变得均匀,其实我们可以把1111看成是四个通道,表示跟1111做&操作后分布是均匀的。假如默认长度取10,二进制表示为1010,这样就相当于又两个通道是关闭的,所以计算出来的索引重复的几率比较大。
原博文:
原博文链接地址

10. 死锁的概念么会产生死锁h3>

11. 你所知道的排序算法一种你最常用的算法的比较次数h3>

12. SpringMVC是采用什么设计模式来实现的h3>

13. SpringMVC中的MVC的全拼是什么这种框架的好处是什么h3>

参考博文:https://blog.csdn.net/weixin_40254133/article/details/80606092

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93644 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月26日
下一篇 2020年9月26日

相关推荐