关于这个问题也许有人会问道,为什么HashMap的装填因子会被设置成0.75,而不是其他值。而loadFactor 值则表示装填因子,也就是说HashMap达到capacity * load factor 一个值的时候就可以认定其装满了,即使这个时候按照默认值来计算,还剩4个元素的位置,那么这个时候,也会进行自动扩容。
死循环是因为并发 HashMap 扩容导致的,并发扩容的第一步,线程 T1 和线程 T2 要对 HashMap 进行扩容操作,假设两个线程的指针, T1 和 T2 指向的是链表的头结点元素 A,而 T1 和 T2 的下一个节点,也就是 T1.next 和 T2.next 指向的是 B 节点。