Java seri hale getirilebilir ve Externalizable arasındaki fark nedir?
Java Serializable
Externalizable
arasındaki fark nedir?
CEVAP
""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.
Seri hale getirme ve Sıralama arasında...
'seri hale getirilebilir özniteli...
Android: Parcelable arasındaki Fark ve...
Yumuşak bir referans ve Java zayıf bir...
Kurallı, isim, basit isim ve Java Ders...