hashmap的实现原理或者底层实现。怎样回答能拿高分

如题。面试官问hashmap的实现原理或者底层实现。怎样回答能拿高分#笔经##面经#
全部评论
看我写的这2个源码 把总结答出来 估计还行吧 1.7 :http://blog.csdn.net/carson_ho/article/details/79373026 1.8:http://blog.csdn.net/carson_ho/article/details/79373134
点赞 回复
分享
发布于 2018-03-12 22:06
高位hash,高并发下hashmap导致CPU 100。还有的话...楼下补充
点赞 回复
分享
发布于 2018-03-12 16:41
联易融
校招火热招聘中
官网直投
讲清楚底层实现还有hashmap有些地方这样设计的优点,你可以谈一下自己的想法,这样应该蛮好的
点赞 回复
分享
发布于 2018-03-12 16:49
直接回答里面的方法 比如put一步一步如何实现的,讲明白即可
点赞 回复
分享
发布于 2018-03-12 16:53
看源码呗
点赞 回复
分享
发布于 2018-03-12 17:31
扩容
点赞 回复
分享
发布于 2018-03-12 17:55
看源码
点赞 回复
分享
发布于 2018-03-12 22:03
很遗憾,讲清楚这个不能拿高分,顶多不掉分
点赞 回复
分享
发布于 2018-03-12 22:23
讲讲rehashing的过程,配合concurrentHashmap讲,安全性等,也可以讲下hashcode和equals 然后讲讲扩容,头插法导致的问题,现在jdk8之后怎么解决的,同配合concurrentHashmap讲,可以引到modCount,锁等 还可以讲讲数据结构,红黑树,怎么自平衡的 最后讲讲你怎么用的,是否用到了特性,例如key不可变性
点赞 回复
分享
发布于 2018-03-12 22:43

相关推荐

1.Java里Int占用几个字节?取值范围是多少?答:Java中int占4个字节,也就是32位。int的取值范围就是 [10000000 00000000 00000000 00000000 , 01111111 11111111 11111111 11111111],是补码,正数的补码和原码一样,负数的原码是补码的所有非符号位取反+1,int是有符号整数,第一位是符号位。所以最大值+2^31-1,最小值-2^31-1+1=-2^31。2.什么场景下会用接口,或者使用接口的意义是什么?答:1.多态性实现:接口允许Java等面向对象编程语言实现多态性。一个类可以实现多个接口,这意味着它可以有多种形态或行为。2.解耦:通过接口,可以定义一组方法而不实现它们,这允许我们编写灵活且松耦合的代码。具体实现可以在不影响使用接口的客户端代码的情况下更改。3.规范制定:接口定义了一组规则或契约,所有实现该接口的类都必须遵守这些规则。这有助于确保所有实现了特定接口的类都有共同的方法和行为。3.Integer i1=100,i2=100,i3=200,i4=200  请问i1==i2 ?  i3==i4?    答:true,false。由源码我们可以看到Integer的范围是“-128~127”,当i在这个范围内是从IntegerCache中直接获取,当超越这个范围才会new 一个新的Integer对象出来。 4.父类 obj = new 子类()  obj的类型是父类还是子类呢?obj.method是父类的方法还是子类的?答:子类。obj 是父类的引用,指向了一个子类对象。子类没有重写的父类中的方法obj 会调用父类中没有被重写的方法,当被重写时会调用子类中的方法。父类 obj = new 子类 可以,子类 obj = new 父类不可以!猫黑猫的关系!
点赞 评论 收藏
转发
点赞 37 评论
分享
牛客网
牛客企业服务