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

  • Creavite

    Creavite

    8 Mart 2009
  • DJPixcell

    DJPixcell

    20 NİSAN 2007
  • Techmoan

    Techmoan

    31 Mayıs 2009