HashMap実装を検索した後、 http://www.docjar.com/html/api/java/util/HashMap.java.htmlでこのコードを見つけました。
264 static int hash(int h) {
265 // This function ensures that hashCodes that differ only by
266 // constant multiples at each bit position have a bounded
267 // number of collisions (approximately 8 at default load factor).
268 h ^= (h >>> 20) ^ (h >>> 12);
269 return h ^ (h >>> 7) ^ (h >>> 4);
270 }
誰かがこれに光を当てることができますか?コメントは、このコードがここにある理由を示していますが、これによって不正なハッシュ値がどのように改善され、位置が衝突の数を制限することを保証するのかを理解したいと思います。これらのマジックナンバーはどういう意味ですか?