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