定义
Java中的序列化是指将一个Java对象“转换”为一串连续的byte字节(字节数组或者流),以便写入文件或者通过socket(套接字)发送出去。这一串字节码包括了对象的数据,以及其成员变量的类型信息(元信息)等。
反序列化:将文件或者socket中读取字节,还原回Java对象。
package JavaNote_103;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public interface JavaNote_112_ObjectSerializer {
// 将指定对象序列化为字节数组
byte[] serialize(Object obj) throws IOException;
// 将指定对象序列化并输出到流
void serialize(Object obj, OutputStream os) throws IOException;
// 将字节数组反序列化为指定类型的对象(确定该对象会是何种类型的时候)
<T> T deserialize(byte[] bytes, Class<T> clazz) throws IOException;
// 从流中读取数据并反序列化为指定类型的对象(确定该对象是何种类型的时候)
<T> T deserialize(InputStream is, Class<T> clazz) throws IOException;
// 从流数据中读取并反序列化对象(不确定对象是何种类型的时候)
Object deserialize(InputStream is) throws IOException,ClassNotFoundException;
// 将字节数组反序列化为指定对象(不确定对象类型时)
Object deserialize(byte[] bytes) throws IOException,ClassNotFoundException;
// 以对象为模板。反序列化得到新的T
<T> T deserialize(byte[]b, T co) throws ClassNotFoundException,IOException;
}