Două clase pot avea același serialVersionUID?
Două clase pot avea același serialVersionUID?

Video: Două clase pot avea același serialVersionUID?

Video: Două clase pot avea același serialVersionUID?
Video: SerialVersionUID And Versioning in Java Serialization 2024, Aprilie
Anonim

Da, este posibil ca Două diferit clasele pot avea cel același serialVersionUID valoare. Dar preferă să folosești unul unic pentru fiecare clasă . Utilizați, de asemenea, una mai lungă cu 8 până la 10 cifre, în loc de doar 1 ca valoare.

În consecință, ce este un serialVersionUID?

Mai simplu spus, serialVersionUID este un identificator unic pentru clasele serializabile. Acesta este utilizat în timpul deserializării unui obiect, pentru a se asigura că o clasă încărcată este compatibilă cu obiectul serializat.

De asemenea, la ce folosește serialVersionUID 1l? The serialVersionUID este un identificator de versiune universal pentru o clasă Serializable. Deserializarea utilizări acest număr pentru a se asigura că o clasă încărcată corespunde exact unui obiect serializat. Dacă nu se găsește nicio potrivire, atunci este lansată o excepție InvalidClassException.

În mod similar, se întreabă, este nevoie de serialVersionUID?

implicit serialVersionUID calculul este foarte sensibil la detaliile clasei care pot varia în funcție de implementările compilatorului și poate sa astfel rezultă în InvalidClassException-uri neașteptate în timpul deserializării. Prin urmare, trebuie să declarați serialVersionUID pentru că ne oferă mai mult control.

Care este rolul serialVersionUID în procesul de serializare?

Pe parcursul serializare , java runtime asociază un număr de versiune cu fiecare serializabil clasă. Acest număr a sunat serialVersionUID , care este utilizat în timpul deserializării pentru a verifica dacă expeditorul și destinatarul a serializat obiectul are clase încărcate pentru acel obiect care sunt compatibile cu serializare.

Recomandat: