Originariamente inviato da moriero
Perchè quando un oggetto è definito serializzabile gli viene associato un UID giusto???
Il "protocollo" della serializzazione (documentato qui) specifica che quando si ri-scrive uno stesso oggetto già scritto in precedenza, viene scritto un "back-reference" che è composto da un byte di "marcatura" che indica il back-reference seguito da un int che è un "identificativo" che chiaramente ha senso solo tra le due parti ObjectOutputStream/ObjectInputStream.

Se non vuoi il caching e il conseguente back-reference, usi appunto writeUnshared(). Tutto qui.

Originariamente inviato da moriero
Quindi alla fine mi conviene modificare lo stato e usare questa writeUnshared() ?? Tu che faresti?
Sì, questo.