O que é serializar objetos?

O que é serializar objetos? Pra que serve? Em que situações utilizo?

Desculpem-me mas sou realmente leigo.

Ola

Serialização de objeto é a forma de tirar o objeto da JVM, isto é usado para o transporte de objetos entre uma JVM e outra, ou entre a JVM e o disco, por exemplo.

Ele é usado em RMI, quando vc escreve uma aplicação distribuida todos os objetos que trafegaram pela rede, nos metodos remotos, tem que ser serializaveis.

Você pode ainda escrever como estes objetos serão serializaveis, escrevendo os metodos, e é claro, implementando a interface java.io.Serializable:

private void writeObject(java.io.ObjectOutputStream out) throws IOException private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;
Lembrando que não é preciso escrever estes metodos…

Ou então ao inves de implementar java.io.Serializable implementar java.io.Externalizable, que tem os metodos:

public void readExternal(ObjectInput in); public void writeExternal(ObjectOutput out);
Neste caso vc tem que escrever o que do seu objeto será escrito e lido…