ID de objeto Java en jvm

Hay una ID de objeto que se muestra cerca del valor del objeto en Eclipse durante la depuración.

Por ejemplo: 28332 es un ID de objeto de sesión. Otro ejemplo: waiting for: (id=101) se muestra en el panel Depurar. Estas identificaciones no son ni un código hash ni un System.identityHashCode .

¿Alguien sabe – cómo obtener this identificación de objeto?

Supongo que tienen internamente un IdentityHashMap , que asigna un IdentityHashMap único (pero sin significado) por objeto. Esto debería ser interno al depurador de Eclipse (no una identificación especial que tienen los objetos). ¿Estás preguntando cómo llegar a eso?

Editar : Configuraría un punto de interrupción así (tenga en cuenta que no estoy muy versado en Eclipse):

  • Tendría un punto de interrupción inicial (como el que usaste para tomar la captura de pantalla) e System.identityHashCode(object) el System.identityHashCode(object) del objeto que me interesa.
  • Luego crearía un punto de interrupción usando la condición System.identityHashCode(object) == . Sería muy raro que esto se detuviera en el objeto equivocado.

O si el objeto que le interesa tiene una representación apropiada de toString() que podría usar, también podría intentarlo en lugar de System.identityHashCode(object) . En todos los casos, no tiene que depender de la identificación de objeto interno de Eclipse, sino de capturar una id (o casi) que pueda derivar del objeto en sí.