Auf Thema antworten

Genau, die Änderungen betreffen nur das Objekt im Speicher!




Serialisiert ist serialisiert, diese Daten könnten sicher noch mit irgendwelchen "Tricks" manipuliert werden usw.

Aber nicht indem ich das eigentliche Objekt aus dem die Daten erzeugt wurden ändere.




Es ist etwas kompliziert zu beschreiben, außerdem ist es nur meine Vermutung ;)


Du liest Daten ein und erzeugst ein Schreiben Objekt (nennen wir es A). A hat eine Liste (L) für "sieg" gesetzt bekommen und wird dann serialisiert. (es passieren die ausgaben von A -> korrekt)

Du liest Daten ein und erzeugst ein Schreiben Objekt (nennen wir es B). B hat eine Liste (L) für "sieg" gesetzt bekommen und wird dann serialisiert. (es passieren die ausgaben von A -> korrekt)

Beide Schreiben Objekte haben das gleiche Listen Objekt gesetzt bekommen und diese Information das es sich um das Objekt L handelt wurde ebenfalls serialisiert.


Sprich in der Datei X stehen jetzt Daten drinnen die das Objekt A beschreiben, mit der Liste L und 4 Einträgen. Weiters stehen in der Datei X Daten drinnen die das Objekt B beschreiben, ebenfalls mit der Liste L und 3 anderen Einträgen.


Beim Deserialisieren weiß Java das vorher für alle Schreiben Objekte das gleiche Listen Objekt verwendet wurde. Daher wird eben auch bei der Deserialisierung für jedes Objekt die gleiche Liste verwendet.

Für Objekt A werden dann 4 Einträge in die Liste geladen, für Objekt B werden dann weitere 3 Einträge in die Liste geladen.


EDIT: Vielleicht fällt mir noch ein besseres/einfacheres Beispiel ein, was glaub ich passiert bei der Deserialisierung dieser Objekte



Oben