Entity entity = new Entity(); //implements Serializable 非transient属性
//写入文件
File file = new File("serial.txt");
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(entity);


//写入byte数组 
ObjectOutputStream out = new ObjectOutputStream(new ByteArrayOutputStream());
out.writeObject(entity);


//反序列化
//从文件读出
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
Object entity = in.readObject();


//根据byte[]
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
Object entity = in.readObject();



在发序列化过程中,不调用调用包括无参构造方法在内的所有构造器。
序列化的目的之一就是记录对象当时的状态,而构造方法有可能会对这个状态产生影响,因此反序列化时会调用native方法去处理