Werden statische Variablen im Serialisierungsprozess serialisiert?

Ich bin über das Verständnis der Java-Serialisierung gestolpert. Ich habe in vielen Dokumenten und Büchern gelesen, dass statische und transiente Variablen in Java nicht serialisiert werden können. Wir deklarieren eine serialVersionUid wie folgt.

private static final long serialVersionUID = 1L;

Wenn eine statische Variable nicht serialisiert wurde, tritt während des Prozesses der Deserialisierung häufig eine Ausnahme auf.

java.io.InvalidClassException

Dabei wird die serialVersionUID aus dem deserialisierten Objekt extrahiert und mit der serialVersionUID der geladenen Klasse verglichen.

Meines Wissens denke ich, dass wenn statische Variablen nicht serialisiert werden können. Es gibt keinen Grund für diese Ausnahme. Ich kann mich irren, weil ich noch lerne.

Ist es ein Mythos, dass "statische und transiente Variablen in Java nicht serialisiert werden können"? Bitte korrigieren Sie mich, ich bin in einem Chaos über dieses Konzept.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage