Если сборщик мусора Java перемещает объекты, что такое Object.hashCode и System.identityHashCode?

Я часто слышал, что эти методы ( Object.hashCode и System.identityHashCode ) возвращают адрес объекта , или что-то быстро вычисленное по адресу; но я также уверен, что сборщик мусора перемещает и сжимает объекты. Поскольку хэш-код не может измениться, это представляет проблему. Я знаю, что это не то, что нужно знать для повседневной работы, но мне хотелось бы разобраться во внутреннем устройстве. Итак, кто-нибудь знает, как это реализовано в Java? Или .NET, поскольку они, вероятно, похожи.

35
задан Rob N 26 August 2011 в 15:46
поделиться