SORU
16 AĞUSTOS 2008, CUMARTESİ


Boks ve kutulama nedir ve ihtimalleri nedir?

Açık, öz ve doğru bir cevap arıyorum.

İyi açıklamalar bağlantıları Hoşgeldiniz rağmen gerçek cevap olarak ideal.

CEVAP
24 AĞUSTOS 2008, Pazar


Kutulu değerleri primitive types *etrafında minimal sarma* 0*. Kutulu değerleri genellikle the heap nesnelere işaretçiler olarak saklanır.

İşaretçi, ve başka bir ilkel için bir işaretçi takip etmek bir kere. böylece, kutulu değerleri daha fazla bellek kullanımı ve erişim için en az iki bellek aramaları almak: Belli ki bu iç döngü içinde istediğiniz türden bir şey değil. Öte yandan, kutulu değerleri genellikle daha iyi sistemindeki diğer türleri ile oynamak. Dilinde birinci sınıf veri yapıları olduğundan, diğer veri yapıları beklenen, meta ve yapıya sahiptirler.

Java ve Haskell genel koleksiyon Kutusuz değerleri içeremez. Genel koleksiyonları .NET hiçbir ceza ile Kutusuz değerleri tutabilir. Java jenerik sadece derleme zamanı tür denetlemesi için kullanılır .NET 3**.

Java ve Haskell diziler Kutusuz var, ama kesinlikle başka bir koleksiyon daha uygunlar. Yüksek performans gerektiğinde ancak, küçük bir rahatsızlık değerinde Boks ve kutulama yükünü önlemek için.

Bu tartışma için temel bir değer the call stack yerine öbek üzerinde bir değeri için bir işaretçi olarak kayıtlı olabilir. Sık sık o sadece makine tipi (değer vermez, yüzen, vb.), yapılar, ve bazen statik bir dizi bulunur. .NET-toprak onlara değer tipleri referans tipleri (farklı olarak) çağırır. Java Millet onları ilkel türleri arama. Haskellions sadece onları Kutusuz arayın.

** Ayrıca Java, Haskell odaklanıyorum, ve C# biliyorum çünkü bu cevap,. Değer, Python, Ruby ve Javascript için sadece kutulu değerleri var. Bu aynı zamanda "Her şey"*** yaklaşım. bir nesne olarak bilinir

*** Uyarı: / JİT bazı durumlarda aslında bir değeri anlamsal kutulu kaynağı bakıldığında, güvenli bir şekilde Kutusuz bir değeri olabilir algılayabilir yeterince gelişmiş Bir derleyici çalışma zamanında. Aslında, parlak dili sayesinde kutuları bazen ücretsiz uygulayıcıları.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alan Fullmer

    Alan Fullmer

    3 EYLÜL 2010
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • Matt Harding

    Matt Harding

    23 Mayıs 2006