Mohou mít dvě třídy stejné serialVersionUID?
Mohou mít dvě třídy stejné serialVersionUID?

Video: Mohou mít dvě třídy stejné serialVersionUID?

Video: Mohou mít dvě třídy stejné serialVersionUID?
Video: SerialVersionUID And Versioning in Java Serialization 2024, Duben
Anonim

Ano, je to možné dva odlišný třídy mohou mít a stejný serialVersionUID hodnota. Raději ale použijte pro každého jedinečný třída . Jako hodnotu také použijte delší číslo o 8 až 10 číslic než jen 1.

Co je tedy serialVersionUID?

Jednoduše řečeno, serialVersionUID je jedinečný identifikátor pro serializovatelné třídy. To se používá během deserializace objektu, aby se zajistilo, že načtená třída je kompatibilní se serializovaným objektem.

Podobně, k čemu slouží serialVersionUID 1l? The serialVersionUID je univerzální identifikátor verze pro serializovatelnou třídu. Deserializace používá Toto číslo zajistí, že načtená třída přesně odpovídá serializovanému objektu. Pokud není nalezena žádná shoda, je vyvolána výjimka InvalidClassException.

Podobně se ptá, je potřeba serialVersionUID?

výchozí serialVersionUID výpočet je vysoce citlivý na detaily třídy, které se mohou lišit v závislosti na implementacích kompilátoru, a umět to má za následek neočekávané InvalidClassException s během deserializace. Proto musíte deklarovat serialVersionUID protože nám to dává větší kontrolu.

Jaká je role serialVersionUID v procesu serializace?

Během serializace , Java runtime přiřadí každému číslo verze serializovatelný třída. Toto číslo volalo serialVersionUID , který se používá během deserializace k ověření, že odesílatel a příjemce a serializované objekt má načtené třídy pro tento objekt, které jsou kompatibilní s ohledem na serializace.

Doporučuje: