İki sınıf aynı serialVersionUID'ye sahip olabilir mi?
İki sınıf aynı serialVersionUID'ye sahip olabilir mi?

Video: İki sınıf aynı serialVersionUID'ye sahip olabilir mi?

Video: İki sınıf aynı serialVersionUID'ye sahip olabilir mi?
Video: Java Serialization and Deserialization - (Json vs Serialization) 2024, Nisan
Anonim

Evet, bu mümkün 2 farklı sınıflar olabilir NS aynı serialVersionUID değer. Ancak her biri için benzersiz bir tane kullanmayı tercih edin sınıf . Ayrıca değer olarak yalnızca 1 yerine 8 ila 10 basamaktan daha uzun olanı kullanın.

Sonuç olarak, serialVersionUID nedir?

Basitçe söylemek gerekirse, seriVersionUID Serileştirilebilir sınıflar için benzersiz bir tanımlayıcıdır. Bu, yüklü bir sınıfın serileştirilmiş nesneyle uyumlu olmasını sağlamak için bir nesnenin seri durumdan çıkarılması sırasında kullanılır.

Aynı şekilde, serialVersionUID 1l'nin kullanımı nedir? NS seriVersionUID Serileştirilebilir bir sınıf için evrensel bir sürüm tanımlayıcısıdır. seri durumdan çıkarma kullanır bu sayı, yüklenen bir sınıfın tam olarak serileştirilmiş bir nesneye karşılık gelmesini sağlamak için. Eşleşme bulunamazsa, bir InvalidClassException oluşturulur.

Benzer şekilde, serialVersionUID gerekli mi?

varsayılan seriVersionUID hesaplama, derleyici uygulamalarına bağlı olarak değişebilen sınıf ayrıntılarına oldukça duyarlıdır ve Yapabilmek bu nedenle seri durumdan çıkarma sırasında beklenmeyen InvalidClassException s ile sonuçlanır. Bu nedenle, beyan etmelisiniz seriVersionUID çünkü bize daha fazla kontrol sağlıyor.

Serileştirme sürecinde serialVersionUID'nin rolü nedir?

Sırasında serileştirme , Java çalışma zamanı, her biri ile bir sürüm numarası ilişkilendirir. serileştirilebilir sınıf. Bu numara aradı seriVersionUID seri durumdan çıkarma sırasında, göndericinin ve alıcının bir serileştirilmiş nesne, o nesne için şuna göre uyumlu sınıflar yükledi. serileştirme.

Önerilen: