1,ArrayList类图
定义
Java序列化是指把Java对象转换为字节序列的过程;
Java反序列化是指把字节序列恢复为Java对象的过程。
2:在什么场景下使用序列化
把一个Java对象变成字节流的形式传出去,有的时候我们想要从一个字节流中恢复一个Java对象。例如,有的时候我们想要把一个Java对象写入到硬盘或者传输到网路上面的其它计算机,这时我们就需要自己去通过java把相应的对象写成转换成字节流
3,实现方式
- 实现序列化接口Serializable,这个使用的比较多。Serializable接口是一个空的接口,它的主要作用就是标识这个类的对象是可序列化的
- 实现接口Externalizable。Exterinable继承了Serializable,是Serializable的一个扩展,对于哪些属性可以序列化,哪些可以反序列化可以做详细地约束。
-
相关工具类:
-
java.io.ObjectOutputStream:表示对象输出流
它是OutputStream类的一个子类,对应的ObjectOutputStream.WriteObject(Object object)就要求参数object实现Serializable接口。
4,序列化使用
1,创建一个实体类LoginInfo去实现Serializable接口
public class LoginInfo implements Serializable {
private String name;
private String tel;
public LoginInfo() {
}
public LoginInfo(String name, String tel) {
this.name = name;
this.tel = tel;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
@Override
public String toString() {
return "LoginInfo{" +
"name='" + name + '\'' +