question: int hash ( Object k ) { int h ; h = k . hashCode ( ) ; h ^= ( h > > > 20 ) ^ ( h > > > 12 ) ; return h ^ ( h > > > 7 ) ^ ( h > > > 4 ) ; }
target:  Retrieve object hash code and applies a supplemental hash function to the result hash, which defends against poor quality hash functions.  This is critical because HashMap uses power-of-two length hash tables, that otherwise encounter collisions for hashCodes that do not differ in lower bits.