Расположение объекта в памяти недоступно (чистой) программе Java.
Даже если вы используете собственный код или Unsafe
для определения местоположения объекта, нет гарантии, что G C не переместит его ... без какого-либо уведомления. Поэтому, если бы вы упорядочили объекты в коллекции по их адресу в памяти, коллекция не была бы упорядочена.
С другой стороны, вы могли бы использовать System.identityHashCode(Object)
, чтобы получить 32-битный код, который не изменится на весь срок службы объекта. Даже если G C перемещает объект.