2011-06-27 15 views
5

Özellikle hareketli bir çöp toplayıcı ile kullanıldığında. Nesnenin geçerli bellek konumu, sonraki koleksiyonda değişebileceği için kullanılamaz, bu yüzden nesne karma olarak ne kullanılır? Bu soru olurJVM'ler IdentityHashMap'i nasıl uygular?

+2

gerektiği şekilde sorusu:? * VM' System.identityHashCode uygularım nasıl() '*, ne bu gibi IdentityHashMap tarafından kullanılabilir –

+0

olası yinelenen [JVM, System.identityHashCode() 'un hiçbir zaman değişmeyeceğinden nasıl emin olur?] (http://stackoverflow.com/questions/1063068/how-does-the-jvm-ensure-that -sistem-identityhashcode-will-asla-değişim) –

cevap

0

, System.identityHashCode() bunun için kullanılır. Ve javadocs gelen: Verilen nesnenin sınıf() hashCode geçersiz kılar olsun veya olmasın

, varsayılan yöntem hashCode (tarafından iade edileceği olarak verilen nesne için aynı karma kodu) döndürür. Boş referansın karma kodu sıfırdır.

Yani

, gerçekten, soru nedir varsayılan hashCode algoritmasıdır" aşağı kaynar

İlgili konular