We can control how the default hashcode return, and and what the difference of default hashcode between java7 and 8 - https://blog.codinghorror.com/complaint-driven-development/ http://sigpwned.com/2018/08/10/string-hashcode-is-plenty-unique/ https://shipilev.net/jvm/objects-inside-out https://www.baeldung.com/jvm-measuring-object-sizes