SORU
3 Mayıs 2009, Pazar


Java seri hale getirilebilir ve Externalizable arasındaki fark nedir?

Java Serializable Externalizable arasındaki fark nedir?

CEVAP
3 Mayıs 2009, Pazar


""Sınıf nesneleri için. seri hale getirme yeteneği otomatik java.io.Serializable, implementating diğer cevaplar için eklemek için Başka bir mantık uygulamak için gerek yok, sadece işe yarayacak. Java çalışma zamanı yansıması ve nesneleri Mareşal unmarshal anlamaya kullanın.

Java önceki sürümde, yansıma çok yavaş ve çok büyük bir nesne grafikleri (istemci-sunucu örneğin RMI uygulamaları) serializaing performans biraz sorun oldu. Bu durumu işlemek için java.io.Externalizable arayüzü açıldıysa olduğu gibi java.io.Serializable ama özel olarak yazılmış mekanizmaları gerçekleştirmek için sıralanırken ve unmarshalling fonksiyonları eğer uygulamak readExternal writeExternal yöntemler üzerinde sınıf). Bu yansıma performans darboğazı bu da demek oluyor ki verir.

Java son sürüm (1.3 itibaren, kesinlikle) yansıma performansı eskisinden çok daha iyi olduğunu, ve bu yüzden bu bir sorun daha az. Sabit preslenmiş modern bir JVM ile Externalizable anlamlı bir fayda olacağını sanıyorum.

Ayrıca, yerleşik Java serileştirme mekanizması değil sadece, alabilirsiniz, üçüncü taraf değiştirmeler, gibi JBoss Serileştirme, çok daha hızlı, ve bir damla değişimi için varsayılan.

Bir büyük dezavantajı Externalizable o seni korumak bu mantık kendini eklemek, kaldırmak veya değiştirmek bir alanda sınıf var değiştirmek için writeExternal/readExternal yöntemleri için hesap için.

Özet Externalizable Java 1.1 gün bir kalıntı. Gerçekten ihtiyacı artık yok.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 99being99

    99being99

    2 EYLÜL 2008
  • bigky226

    bigky226

    11 HAZİRAN 2006
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014