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

  • Android Police

    Android Poli

    21 NİSAN 2010
  • The Scary Snowman

    The Scary Sn

    1 ŞUBAT 2011
  • Whizzpopping

    Whizzpopping

    10 Kasım 2005