2011-06-27 3 views
5

特に移動ガベージコレクタで使用する場合。オブジェクトの現在のメモリ位置は、次のコレクションで変更される可能性があるため使用できません。したがって、オブジェクトのハッシュとして使用されるのは何ですか?この質問は役立ちますJVMはIdentityHashMapをどのように実装していますか?

+2

質問は次のようになります?*これは何であるとしてどのようにVMは、 '*)(' System.identityHashCodeを実装しますIdentityHashMapで使用されています。 –

+0

[JVMはSystem.identityHashCode()が決して変更されないことをどのようにして保証しますか?](http://stackoverflow.com/questions/1063068/how-does-the-jvm-ensure-that -system-identityhashcode-will-never-change) –

答えて

0

は、System.identityHashCode()はこのために使用されます。

指定されたオブジェクトのクラスがhashCode()をオーバーライドしているかどうかにかかわらず、デフォルトのメソッドhashCode()が返すオブジェクトと同じハッシュコードを返します。ヌル参照のハッシュコードはゼロです。

だから、本当に、質問はデフォルトのhashCodeアルゴリズムは何ですか」に沸く

関連する問題