Java容器

常見的就不寫了,寫一些深入的東西。

HashMap

裝載因子

  • 默認爲0.75,如果設置太大,空間利用率高了,但是桶中的鍵碰撞的機率就會越大,同一個桶可能會存放好幾個value值,這樣就添加了搜索的時間。
  • 如果設置太小,那麼桶的使用率將會很低,浪費內存空間。

桶的默認大小

  • 爲什麼爲16,桶的大小爲2的冪,即在二進制下的情況下len-1全爲1,hashmap在求桶下標的時候計算公式爲index = e.hash & (newCap - 1),這樣可以更均勻分佈hash函數。

ConcurrentHashMap

場景題

chm在執行clear操作時,同時可能存在併發put時,如何保證clear方法安全?

這道題還沒想到答案,先記錄一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章