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

  • Ama Jenna

    Ama Jenna

    29 NİSAN 2011
  • George McCarron

    George McCar

    29 Mayıs 2013
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012