The general contract Object.hashCode(), as you say, indicates that the hash code can vary between runs.
, -, , hashCode() , .
, Object.hashCode(). hashCode(), , - . , hashCode() , - , .
, , , , , . , . hashCode(), - -, , , (.. Integer, ).
, Java HashMap , - . , - - , , - (, , hashCode()).