關於hash相關的總結

2021-09-03 04:07:32 字數 414 閱讀 6400

1.hashmap為什麼執行緒不安全?

1.1 size沒有用volatile修飾,如果多執行緒同時進行put和remove,size的值不准

1.2 如果多執行緒同時put乙個key值相同,會導致其中乙個執行緒的value值丟失

1.3 如果多執行緒正好傳送在resize的時候,也會導致資料的丟失

2.string類裡面為什麼要重寫hashcode和equals方法?

2.1 兩個物件相等,那麼hashcode必然相等,equals判斷相等

2.2 hashcode相等,兩個物件不一定相等,得看equals

2.3 hashcode有什麼作用,可以更快的判斷兩個物件是否相等

2.4 string裡面重寫hashcode,是為了降低衝突

Hash相關的知識

1.雜湊函式的構造方法 直接定址法 數字分析法 摺疊法 平方取中法 減去法 基數轉換法 除留餘數法 隨機乘數法 字串數值雜湊法 旋轉法 偽隨機數法 2.開雜湊和閉雜湊 開雜湊表 鏈式位址法 閉雜湊表 開放位址法 開雜湊和閉雜湊主要的區別在於,隨著雜湊表的密集度提高,使用閉雜湊時,不僅會與相同雜湊值的...

MySQL的Hash索引相關

hash索引結構使用方式較為侷限,僅適用於 in和 三種,但是由於通過hash可以直接查詢到具體的值,而不用像b 樹那樣每次都從root節點開始遍歷,所以在通常情況下,hash的查詢效率要比b 樹高。hash的缺陷 1.hash不能進行範圍查詢 值在計算hash後,並不能保證計算後的hash值和計算...

總結 關於Sizeof的相關知識

sizeof的使用場合 sizeof操作符的乙個主要用途是與儲存分配和i o系統那樣的例程進行通訊 用它可以看看某種型別的物件在記憶體中所佔的單元位元組 在動態分配一物件時,可以讓系統知道要分配多少記憶體 便於一些型別的擴充。由於運算元的位元組數在實現時可能出現變化,建議在涉及運算元位元組大小時用s...