当两个进程 进行远程通信时,彼此发送各种类型数据,都会以 二进制 序列 形式在网络上传送:
发送方: 把java 对象 转换为 字节序列,-->对象序列化,(才能够在网络上传送);
接收方: 把字节序列恢复成 java 对象-->反序列化
1、把java对象转换为字节序列的过程-->对象序列化;(java对象-->字节序列)
2、把字节序列恢复为 java 对象的过程-->对象反序列化;(字节序列-->java对象)
对象序列化主要用途:
1、把对象的字节序列永久保存到硬盘,(如文件中);
2、把网络上传送对象的字节序列;
java.io.ObjectOutputStream 代表对象输出流,writeObject(Object obj) 方法 将obj对象 进行序列化, 把字节序列输出到目标输出流中;
java.io.ObjectInputStream 代表对象输入流,readObject()方法 从一个源输入流中读取 字节序列,再-->把它们反序列化成一个对象,
凡是实现Serializable接口的类都有一个表示序列化版本标识符的静态变量:
private static final long serialVersionUID;