Java中的序列化和外部化之间的区别
序列化和外部化都是将对象转换为流字节并将字节流存储在数据库或内存中的过程。实现java.io.Serializable接口的类可以序列化。另一方面,根据应用程序的要求,外部化用于自定义序列化。外部化扩展了java.io.Serializable。
2.如果子类未序列化但超类可自动序列化
可外部化的示例
class ExternalizableExample implements Externalizable { Integer id; @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeInt( id ); } @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { this.id = in.readInt(); } }
可序列化的示例
class SerializableExample implements Serializable { private static final long serialVersionUID = 5081877L; String name; }