Môžu mať dve triedy rovnaké serialVersionUID?
Môžu mať dve triedy rovnaké serialVersionUID?

Video: Môžu mať dve triedy rovnaké serialVersionUID?

Video: Môžu mať dve triedy rovnaké serialVersionUID?
Video: Why Chicago's Hidden Street has 3 Levels (The History of Wacker Drive) 2024, November
Anonim

Áno, je to možné dva rôzne triedy môžu mať a rovnaký serialVersionUID hodnotu. Radšej však použite jedinečný pre každého trieda . Ako hodnotu tiež použite o 8 až 10 číslic dlhší ako len 1.

Čo je teda serialVersionUID?

Jednoducho povedané, serialVersionUID je jedinečný identifikátor pre serializovateľné triedy. Toto sa používa počas deserializácie objektu, aby sa zabezpečilo, že načítaná trieda je kompatibilná so serializovaným objektom.

Podobne, aké je použitie serialVersionUID 1l? The serialVersionUID je univerzálny identifikátor verzie pre serializovanú triedu. Deserializácia používa toto číslo, aby sa zabezpečilo, že načítaná trieda presne zodpovedá serializovanému objektu. Ak sa nenájde žiadna zhoda, vyvolá sa výnimka InvalidClassException.

Podobne sa pýta, či je potrebné serialVersionUID?

predvolená hodnota serialVersionUID výpočet je vysoko citlivý na detaily triedy, ktoré sa môžu líšiť v závislosti od implementácií kompilátora a môcť to má za následok neočakávanú výnimku InvalidClassException s počas deserializácie. Preto musíte deklarovať serialVersionUID pretože nám to dáva väčšiu kontrolu.

Aká je úloha serialVersionUID v procese serializácie?

Počas serializácia , Java runtime spája číslo verzie s každým serializovateľné trieda. Toto číslo volalo serialVersionUID , ktorý sa používa pri deserializácii na overenie, či odosielateľ a prijímač a serializované objekt má načítané triedy pre tento objekt, ktoré sú kompatibilné vzhľadom na serializácia.

Odporúča: