Stavo leggendo sulla serializzazione Java e sono venuto a sapere che se l'interfaccia Serializable è implementata allora la classe è serializzata.Come la serializzazione java funziona internamente?
Ma Serializable è un'interfaccia marker. Quindi, come fa JVM a sapere con quali metodi la serializzazione o la de-serializzazione dovrebbero essere eseguite?
Secondo la mia comprensione i metodi dichiarati in un'interfaccia sono chiamati via polimorfismo.
Vorrei dare un esempio qui sotto per esemplificare la mia domanda.
public class MySerializable implements Serializable{
public void serialize(){
//Some code to serialize to a file output stream.
}
public void deSerialize(){
//Some code to de-serialize to a file input stream.
}
}
Quindi ora come JVM chiamerà i metodi serialize/deSerialize?
E se devo chiamarli manualmente tramite codice, allora perché il compilatore dovrebbe far sapere che l'interfaccia Serializable è implementata?
Ecco Jon Skeet grande risposta su Java serializzazione http : //stackoverflow.com/a/352133/2069368 e questa potrebbe essere la risposta alla tua domanda http://javabeanz.wordpress.com/2010/03/20/todays-read-how-java-serialization-w Orchi /. – pepuch