我想实现java.io.Externelizable
它本质上说做任何java.io.Serializable
会做一些修改。Java 序列化机制中有哪些钩子(如果有)?或者,是否有任何外部库可以以开放/可扩展的方式准确模拟 Java 序列化机制?
问问题
287 次
1 回答
3
您不需要java.io.Externalizable
对序列化进行小的自定义。只需java.io.Serializable
像以前一样实现,在类中实现以下两个方法:
private void writeObject(ObjectOutputStream oos) {
oos.defaultWriteObject();
// custom serialization
oos.writeInt(notSerializableObj.getId());
}
private void readObject(ObjectInputStream ois) {
ois.defaultReadObject();
// custom de-serialization
notSerializableObj = new NotSerializableObj(ois.readInt());
}
java.io.Externalizable
当您出于性能或安全原因想要完全更改对象的序列化方式(底层算法本身)时,主要使用它。
于 2013-07-17T22:23:51.027 回答