HashMap是在面試中經常會問的一點,很多時候我們僅僅只是知道HashMap他是允許鍵值對都是Null,並且是非線程安全的,如果在多線程的環境下使用,是很容易出現問題的。 這是我們通常在面試中會說的,但是有時候問到底層的源碼分析的時候,爲什麽允許爲Null,爲什麽不安全,這些問題的時候,如果沒有分析過源碼的話,好像很難回答, 這樣的話我們來研究一下這個源碼。看看原因把。
HashMap最早出現在JDK1.2中,它的底層是基于的散列算法。允許鍵值對都是Null,並且是非線程安全的,我們先看看這個1.8版本的JDK中HashMap的數據結構把。