SORU
30 HAZİRAN 2009, Salı


Nasıl JVM Sistem kabul etmez.() identityHashCode hiç değişecek mi?

Genellikle varsayılan uygulamaObject.hashCode()bellekte nesnenin tahsis adresi (zorunlu değil ama . bazı fonksiyonudur ^em>İDEA). VM bellek, neden nesneler şant verilen tarafından döndürülen değeri yokSystem.identityHashCode()hiç bir nesnenin ömrü boyunca değişim?

Eğer bir "one-shot" hesaplama (nesne hashCode hesaplanan bir kez ve saklanmış nesneyi başlık falan), o zaman demek mümkün için iki nesne aynı identityHashCode (Eğer onlar ne olacak ilk ayrılan aynı adreste bellek)?

CEVAP
30 HAZİRAN 2009, Salı


Nesne başlığındaki değeri kaydetmek Modern Jvm'ler. Bu değer genellikle en az (bazen gibi düşük bir düzine döngüleri) zaman nesne ayırma harcanan tutmak amacıyla ilk kullanımı üzerinden hesaplanır inanıyorum. Ortak Sun JVM kimlik karma kodu her zaman tüm nesneler için 1 böylece derlenmiş olabilir.

Birden çok nesne kodu karma aynı kimliğe sahip olabilir. Karma kodlar doğasıdır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Britec09

    Britec09

    4 Mart 2009
  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • NightShader1

    NightShader1

    25 Temmuz 2006