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

  • BaaaStuds's channel

    BaaaStuds's

    10 Mart 2009
  • hidetake takayama

    hidetake tak

    3 Mart 2009
  • Wild Academy

    Wild Academy

    8 Aralık 2009