2010-12-03 14 views

cevap

2

Bu, yeni bir java sürümü sürümüyle gerçekleşebilir mi? her şey olabilir Eğer

, bu :) olacaktır, ancak serialVersionUID değiştirirsen diye ciddi, onu kuruyorlar geriye dönük uyumlu olmadıkları - muhtemelen tüm bu yıllarda olmadı şey.

Tüm serileştirilebilir uyumsuzluklar Sen tamamen güvenli 'değiliz 'default' içindir

1

Olabilir ama çok olası değil. Java Nesne Serileştirme Özelliği, serialVersionUID nesli için tam algoritmayı tanımlar (bölüm 4 - http://download.oracle.com/javase/6/docs/platform/serialization/spec/class.html#4100) ve ayrıca tür sürümünün nasıl çalıştığını ve uyumlu türdeki bir evrimi dikkate aldığını açıklar (bölüm 5 - http://download.oracle.com/javase/6/docs/platform/serialization/spec/version.html).

Sorunuza geri dön. Yeni Java sürümü, HashMap tanımında geriye dönük uyumsuz bir değişiklik başlatırsa, yeni bir seri hale getirme UID'si ile birlikte gelir. Java 5, Java için geriye dönük uyumluluğun ne anlama geldiğini açıkça gösterdi; genel türlerin nasıl tip silme ile geldiğini incelediler. Bence tamamen güvendesin. Olabilecek en kötü şey, HashMap'in kullanımdan kaldırıldığını görmektir :) fakat eminim hala uyumlu olacak.

0

serialVersionUID. RowSet uygulamalarından birinde gerçekleşmiştir ve Swing'in tamamı için gerçekleşmemesi garanti edilmez. Ancak, çekirdek sınıflar için derece gibi yüksek kalıyor.