什么是自定義序列?
自定義序列是由ObjectInput/OutputStream在序列化/反序列化時候通過反射檢查該類是否存在以下方法(0個或多個):
執行順序從上往下,序列化調用1和2,反序列調用3和4;transient關鍵字當某個字段被聲明為transient后,默認序列化機制就會忽略該字段。
1Object writeReplace() throws ObjectStreamException;可以通過此方法修改序列化的對象
2void writeObject(java.io.ObjectOutputStream out) throws IOException; 方法中調用defaultWriteObject() 使用writeObject的默認的序列化方式;
除此之外可以加上一些其他的操作,如添加額外的序列化對象到輸出:out.writeObject("XX")
3void readObject(java.io.ObjectInputStream in) throws Exception; 方法中調用defaultReadObject()使用readObject默認的反序列化方式,除此之外可以加上一些其他的操作,如讀入額外的序列化對象到輸入:in.readObject()
4Object readResolve() throws ObjectStreamException;可以通過此方法修改返回的對象
上一篇as用在什么地方