java語言中Object對象的hashCode()取值的底層算法是怎樣實現的


    Java語言中,Object對象有個特殊的方法:hashcode(), hashcode()表示的是JVM虛擬機為這個Object對象分配的一個int類型的數值,JVM會使用對象的hashcode值來提高對HashMap、Hashtable哈希表存取對象的使用效率。

      關於Object對象的hashCode()返回值,網上對它就是一個簡單的描述:“JVM根據某種策略生成的”,那么這種策略到底是什么呢?我有一個毛病,遇到這種含糊其辭的東西,就想探個究竟,所以,本文就將hashCode()本地方法的實現給扒出來,也給大家在了解hashCode()的過程中提供一點點幫助吧。

      本文將根據openJDK 7源碼,向展示Java語言中的Object對象的hashCode() 生成的神秘面紗,我將一步一步地向讀者介紹Java Object 的hashcode()方法到底底層調用了什么函數。為了更好地了解這個過程,你可以自己下載openJDK 7 源碼,親自查看和跟蹤源碼,了解hashCode()的生成過程:

         openJDK 7 下載地址1:http://download.java.net/openjdk/jdk7 (官網,下載速度較慢)

         openJDK 7 下載地址2 :openjdk-7-fcs-src-b147-27_jun_2011.zip (csdn 網友提供的資源,很不錯)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM