? ? ? ? 在多線程環境中,使用HashMap進行put操作時會引起死循環,導致CPU使用接近100%,下面通過代碼分析一下為什么會發生死循環。
首先先分析一下HashMap的數據結構:HashMap底層數據結構是有一個鏈表數據構成的,HashMap中定義了一個靜態內部類作為鏈表,代碼如下(與本文無關的代碼省略):參見原文地址
? ? ? ? 在多線程環境中,使用HashMap進行put操作時會引起死循環,導致CPU使用接近100%,下面通過代碼分析一下為什么會發生死循環。
首先先分析一下HashMap的數據結構:HashMap底層數據結構是有一個鏈表數據構成的,HashMap中定義了一個靜態內部類作為鏈表,代碼如下(與本文無關的代碼省略):參見原文地址