Ar dvi klasės gali turėti tą patį serialVersionUID?
Ar dvi klasės gali turėti tą patį serialVersionUID?

Video: Ar dvi klasės gali turėti tą patį serialVersionUID?

Video: Ar dvi klasės gali turėti tą patį serialVersionUID?
Video: SerialVersionUID And Versioning in Java Serialization 2024, Lapkritis
Anonim

Taip, tai įmanoma du skirtinga klasės gali turėti į tas pats serialVersionUID vertė. Tačiau kiekvienam geriau naudoti unikalų klasė . Taip pat kaip reikšmę naudokite nuo 8 iki 10 skaitmenų ilgesnį, o ne tik 1.

Taigi, kas yra serialVersionUID?

Paprasčiau tariant, serialVersionUID yra unikalus serializuojamų klasių identifikatorius. Tai naudojama objekto deserializavimo metu, siekiant užtikrinti, kad įkelta klasė būtų suderinama su serijiniu objektu.

Be to, kam naudinga serialVersionUID 1l? The serialVersionUID yra universalus Serializable klasės versijos identifikatorius. Deserializacija naudoja Šis skaičius, siekiant užtikrinti, kad įkelta klasė tiksliai atitinka serijinį objektą. Jei nerandama atitikties, metama InvalidClassException.

Panašiai klausiama, ar reikalingas serialVersionUID?

numatytasis serialVersionUID skaičiavimas yra labai jautrus klasės detalėms, kurios gali skirtis priklausomai nuo kompiliatoriaus diegimo ir gali todėl deserializacijos metu atsiranda netikėtų InvalidClassException s. Todėl privalote deklaruoti serialVersionUID nes tai suteikia mums daugiau kontrolės.

Koks yra serialVersionUID vaidmuo serializacijos procese?

Per serializavimas , „Java Runtime“su kiekvienu susieja versijos numerį serializuoti klasė. Skambino šiuo numeriu serialVersionUID , kuris naudojamas deserializacijos metu siekiant patikrinti, ar siuntėjas ir gavėjas a serializuotas objektas įkėlė klases, kurios yra suderinamos su serializavimas.

Rekomenduojamas: