Kunnen twee klassen dezelfde serialVersionUID hebben?
Kunnen twee klassen dezelfde serialVersionUID hebben?

Video: Kunnen twee klassen dezelfde serialVersionUID hebben?

Video: Kunnen twee klassen dezelfde serialVersionUID hebben?
Video: SerialVersionUID And Versioning in Java Serialization 2024, December
Anonim

Ja, het is mogelijk dat twee verschillend lessen kunnen hebben de dezelfde seriëleVersionUID waarde. Maar gebruik liever een unieke voor elk klas . Gebruik ook 8 tot 10 cijfers langer in plaats van slechts 1 als waarde.

Wat is dus een serialVersionUID?

Simpel gezegd, de serialVersionUID is een unieke identificatie voor serialiseerbare klassen. Dit wordt gebruikt tijdens de deserialisatie van een object om ervoor te zorgen dat een geladen klasse compatibel is met het geserialiseerde object.

Evenzo, wat is het gebruik van serialVersionUID 1l? De serialVersionUID is een universele versie-ID voor een Serializable-klasse. deserialisatie toepassingen dit nummer om ervoor te zorgen dat een geladen klasse exact overeenkomt met een geserialiseerd object. Als er geen overeenkomst wordt gevonden, wordt een InvalidClassException gegenereerd.

Evenzo wordt gevraagd, is serialVersionUID nodig?

de standaard serialVersionUID berekening is zeer gevoelig voor klassedetails die kunnen variëren afhankelijk van de implementaties van de compiler, en kan dus resulteren in onverwachte InvalidClassException s tijdens deserialisatie. Daarom moet u aangeven serialVersionUID omdat het ons meer controle geeft.

Wat is de rol van serialVersionUID in het serialisatieproces?

Gedurende serialisatie , java runtime koppelt aan elk een versienummer serialiseerbaar klas. Dit nummer belde serialVersionUID , die tijdens deserialisatie wordt gebruikt om te controleren of de afzender en ontvanger van een geserialiseerd object hebben klassen voor dat object geladen die compatibel zijn met serialisatie.

Aanbevolen: