...
- use of a custom form severs the dependence of the stream format on the code of the implementing class, and
- the code generated for deserializing a custom form can handle compatible deviations from the serialized form, like extra fields.
As a result, developers need neither maintain the earlier version of the code nor explicitly support the original serialized form.
Note that compliance with this rule, while necessary, is not sufficient to guarantee compatible evolution of serializable classes. For a full discussion of comptabile evolution of serializable classes, see the Java Object Serialization Specification (version 6), Chapter 5: Versioning of Serializable Objects.
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6d5065266f1158e4-e8619fd6-48d94452-a3489b01-53aacc0b6214acb9f42204f8"><ac:plain-text-body><![CDATA[ | [[API 2006 | AA. References#API 06]] |
| ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="12b8233722bcfbb0-e8b9dccd-4d9a4742-af2c875f-9cd3721a6e5e638b8fd263b2"><ac:plain-text-body><![CDATA[ | [[Bloch 2008 | AA. References#Bloch 08]] | Item 74, Implement serialization judiciously | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="552708d6a578a7f8-e5dd3f8f-487444ce-b6099709-62161cc6bca2bbc188d7bd5f"><ac:plain-text-body><![CDATA[ | [[Harold 2006 | AA. References#Harold 06]] | 13.7.5, | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="3a296df3fc0b050f-10cbd21c-4f854484-b858ba3b-e87dd2167551ed0c41d6efa3"><ac:plain-text-body><![CDATA[ | [[Sun 2006 | AA. References#Sun 06]] | Serialization Specification, 1.5, Defining Serializable Fields for a Class, and 1.7, Accessing Serializable Fields of a Class | ]]></ac:plain-text-body></ac:structured-macro> |
...