025_JDK的hashCode方法
生活随笔
收集整理的這篇文章主要介紹了
025_JDK的hashCode方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. java Object類的hashCode()方法是一個本地方法, 會調用c++方法。
1.1. Object.java中的hashCode()方法:?public native int hashCode();
1.2. Object對象的hashCode()方法在C語言文件Object.c中實現。下載openjdk.zip, 打開\openjdk\jdk\src\share\native\java\lang\目錄, 查看Object.c文件, 可以看到hashCode()的方法被注冊成有JVM_IHashCode方法指針來處理:
1.3. JVM_IHashCode方法指針在\openjdk\hotspot\src\share\vm\prims目錄中的jvm.cpp中實現,可以看出JVM_IHashCode方法中調用了ObjectSynchronizer::FastHashCode方法:
1.4. ObjectSynchronizer::FastHashCode方法在\openjdk\hotspot\src\share\vm\runtime目錄中的synchronizer.cpp中實現:
2. String類的hashCode()方法
3. hashCode()的返回值不能保證唯一性。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的025_JDK的hashCode方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 024_JDK的equals方法
- 下一篇: 026_使用eclipse生成hashC