Serialization : Should I use it?

serialization-deserialization-in-java-object-streamsWhat is serialization? To answer this question I took a look at Wikipedia and edited their definition.

Serialization is the process of translating data structures or object state into a format that can be stored (e.g., in a file or transmitted across a network connection) and reconstructed later in the same or another computer environment. For many complex objects, such as those that make extensive use of references, this process is not straightforward (e.g., an object from a class that has fields made up of combinations of other classes. Serialization of object-oriented objects does not include any of their associated methods with which they were previously inextricably linked. For that purpose, other mechanisms (e.g., JSON, XML) are available. The opposite operation, extracting a data structure from a series of bytes, is named deserialization. Continue reading “Serialization : Should I use it?”