java提供了两种对象持久化的方式:序列化和外部序列化
(1)序列化 Serialization
序列化是一种将对象已一串字节描述的过程,用于解决在对象流进行读写操作时所引发的问题。
所有要序列化的类都要实现serializable接口
(2)外部序列化(externalizable)
实现外部序列化需要实现 readExternal( ObjectInput in) 和 writeExternal( ObjectOutput out) 方法。
序列化特点:
1. 若一个类能序列化,则其子类也能被序列化。
2. 由于static修饰的变量或方法代表类的成员,transient关键字修饰的变量代表对象的临时数据,因此声明这两种类型的数据成员是不能够够被序列化。
何时使用序列化?
1. 需要通过网络来发送对象或对象的状态需要被持久化到数据库或文件中
2. 序列化能够实现深度复制。