Java常见面试题:HashMap源代码

HashMap主要需要注意以下几点:

1.Map.Entry与HashMap.Node类:

Java常见面试题:HashMap源代码

在HashMap存储数据增加到一定数量的时候(阈值),那么就会由链表变为红黑树(类似于二分查找法,查找的性能更快);

2.阈值:Java常见面试题:HashMap源代码超过了这个内容变为红黑树;

3.HashMap里面对于数据的保存个数的扩充是按照倍数进行的,这里面有一个参考的百分比:

Java常见面试题:HashMap源代码

4.如果达到了16✖️0.75个数的时候会进行第一次的容量扩充,而后16扩充1倍变为32;

5.HashMap里面的方法都是异步处理,属于非线程安全的:

Java常见面试题:HashMap源代码

此时会出现“java.util.ConcurrentModificationException”表示的就是存储的个数和操作的个数不同。

更多专业知识,面试技巧就在阿里云开发者社区,持续更新中……
感谢浏览~
本内容来源于阿里云大学-Java面试技巧

上一篇:Java常见面试题:default关键字


下一篇:Handler、Looper与MessageQueue源码分析