Return to Snippet

Revision: 14481
at June 5, 2009 05:26 by beresovskiy


Initial Code
class parent implements Serializable {
  int parentVersion = 10;
}

class contain implements Serializable{
  int containVersion = 11;
}
public class SerialTest extends parent implements Serializable {
  int version = 66;
  contain con = new contain();

  public int getVersion() {
    return version;
  }
  public static void main(String args[]) throws IOException {
    FileOutputStream fos = new FileOutputStream("temp.out");
    ObjectOutputStream oos = new ObjectOutputStream(fos);
    SerialTest st = new SerialTest();
    oos.writeObject(st);
    oos.flush();
    oos.close();
  }
}

Initial URL
http://habrahabr.ru/blogs/java/60317/

Initial Description
К этому моменту у вас уже должно быть достаточно знаний, чтобы сериализовать объект. Но как работает этот механизм? Алгоритм сериализации делает следующие вещи:

*запись метаданных о классе ассоциированном с объектом
рекурсивная запись описания суперклассов, до тех пор пока не будет достигнут java.lang.object
*после окончания записи метаданных начинается запись фактических данных ассоциированных с экземпляром, только в этот раз начинается запись с самого верхнего суперкласса
*рекурсивная запись данных ассоциированных с экземпляром начиная с самого низшего суперкласса

Initial Title
Java serialzation

Initial Tags
java

Initial Language
Java