Específicamente cuando se utilizan con un recolector de basura en movimiento. La ubicación actual de la memoria del objeto no se puede usar porque puede cambiar en la próxima colección, entonces, ¿qué se usa como hash de los objetos?¿Cómo implementan JVM IdentityHashMap?
5
A
Respuesta
5
Esperanza ayuda a esta pregunta: How does the JVM ensure that System.identityHashCode() will never change?
también http://xiao-feng.blogspot.com/2007/04/object-hashcode-implementation.html
0
Como Paulo señaló en su comentario, System.identityHashCode()
se utiliza para esto. Y a partir de los javadocs:
devuelve el mismo código hash para el objeto dado como sería devuelto por el método hashCode() por defecto, si es o no la clase del objeto dado anula hashCode(). El código hash para la referencia nula es cero.
Así que, realmente, la cuestión se reduce a "¿Cuál es el algoritmo por defecto hashCode
Cuestiones relacionadas
- 1. ¿Las JVM de Linux realmente implementan las prioridades de subprocesos?
- 2. Java HashMap o IdentityHashMap
- 3. Casos de uso para IdentityHashMap
- 4. C# Equivalente a Java IdentityHashMap
- 5. uso práctico de IdentityHashMap en Java 6
- 6. cómo bifurcar JVM?
- 7. ¿Cómo bloqueas una JVM?
- 8. javascript internals: cómo se implementan los eventos?
- 9. ¿Cómo implementan los structs los genéricos?
- 10. ¿Cómo se implementan las matrices en Java?
- 11. ¿Cómo se implementan las matrices en Perl?
- 12. ¿Cómo se implementan los bloques try/catch?
- 13. ¿Cómo se implementan las referencias débiles?
- 14. ¿Cómo se implementan las enumeraciones en Java?
- 15. ¿Cómo se implementan los analizadores DOM?
- 16. ¿Cómo se implementan los C# Generics?
- 17. ¿Cómo se diferencian las "JVM modernas" de las JVM antiguas?
- 18. errores en JSONKit implementan
- 19. ¿Cómo crear una JVM personalizada?
- 20. Ejecución de varias JVM
- 21. Comprensión de JVM Better
- 22. JVM getObjectSize example
- 23. ¿Cuál es la diferencia entre JVM Spec, implementación JVM, JVM en tiempo de ejecución
- 24. ¿Cómo se implementan las categorías en el Objetivo C?
- 25. ¿Cómo se implementan los argumentos variables en gcc?
- 26. ¿Cómo se implementan las expresiones regulares en .NET?
- 27. ¿Cómo se implementan los cambios en el nivel de hardware?
- 28. ¿Cómo implementan Ruby y Python sus consolas interactivas?
- 29. Cómo se implementan las funciones de la biblioteca en Haskell
- 30. Cómo inyectar dependencias en clases que implementan una interfaz?
la pregunta debería ser:? * ¿Cómo se implementan máquinas virtuales' System.identityHashCode() '*, ya que esto es lo que se utilizado por IdentityHashMap. –
posible duplicado de [¿Cómo garantiza la JVM que System.identityHashCode() nunca cambiará?] (http://stackoverflow.com/questions/1063068/how-does-the-jvm-ensure-that -system-identityhashcode-will-never-change) –