【问题标题】:How do JVMs implement IdentityHashMap?JVM 如何实现 IdentityHashMap?
【发布时间】:2011-09-23 04:34:39
【问题描述】:

特别是当它们与移动垃圾收集器一起使用时。对象当前的内存位置不能用,因为下次收集时可能会改变,那么对象hash用什么?

【问题讨论】:

标签: java garbage-collection jvm


【解决方案1】:

正如 Paulo 在他的评论中指出的那样,System.identityHashCode() 用于此目的。并来自 javadocs:

无论给定对象的类是否覆盖 hashCode(),返回给定对象的哈希码与默认方法 hashCode() 返回的哈希码相同。空引用的哈希码为零。

所以,真的,问题归结为“什么是默认的 hashCode 算法?

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2016-02-27
    • 2014-03-11
    • 1970-01-01
    • 2011-07-31
    • 2010-10-15
    • 1970-01-01
    • 2018-06-13
    相关资源
    最近更新 更多