java - java的hashCode()方法是如何工作的?

标签 java hash object hashtable

很好奇java是如何通过hashCode()生成hash值的对象 API 的方法?

最佳答案

ObjecthashCode()其实是一个native方法,实现其实不是纯Java。现在,关于它是如何工作的,this answer from Tom Hawtin很好地解释了它:

Many people will claim that Object.hashCode will return the address of the object representation in memory. In modern implementations objects actually move within memory. Instead an area of the object header is used to store the value, which may be lazily derived from the memory address at the time that the value is first requested.

整个答案实际上值得一读。

关于java - java的hashCode()方法是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1959948/

相关文章:

javascript - 将对象转换为具有 lodash 中父子关系的数组

java - HAProxy应用服务器响应其他端口

java - JList 作为 Java 中的选项卡

java - 更新 SQLite 表而不丢失以前在 android 中的数据

ruby - 向 Ruby 的最后一个参数魔术哈希添加一个非文字哈希元素?

perl - 用数组引用替换标量哈希值的更简洁的存储方式?

c++ - 什么是 “undetectable means”,它们如何更改C/C++程序的对象?

java - 我可以使用重构来将一个变量的类型交换为另一个变量吗?

algorithm - 什么是桶排序的好散列函数?

json - 用 jq 合并两个 JSON 对象