原文https://blog.csdn.net/fedorafrog/article/details/115478407
hashMap结构
常见问题
在理解了HashMap的整体架构的基础上,我们可以试着回答一下下面的几个问题,如果对其中的某几个问题还有疑惑,那就说明我们还需要深入代码,把书读厚。
- HashMap内部的bucket数组长度为什么一直都是2的整数次幂
- HashMap默认的bucket数组是多大
- HashMap什么时候开辟bucket数组占用内存
- HashMap何时扩容?
- 桶中的元素链表何时转换为红黑树,什么时候转回链表,为什么要这么设计?
- Java 8中为什么要引进红黑树,是为了解决什么场景的问题?
- HashMap如何处理key为null的键值对?
new HashMap()
在JDK 8中,在调用new HashMap()的时候并没有分配数组堆内存,只是做了一些参数校验,初始化了一些常量
public Has