2020 11.18曾宇欣

知识点:

序列化

一.什么是序列化

  • 序列化:将对象写入到IO流种
  • 反序列化:从IO流中恢复对象
  • 意义:序列化机制允许将实现序列化的Java对象转换为字节序列,这些字节序列可以保存在硬盘上,或通过网络传输,以达到以后恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在
  • 使用场景:所有可在网络上传输的对象都必须是可序列化的,传入的参数或者返回的对象都是可序列化的,否则会出错。所有需要保存在硬盘上的Java对象都必须是可序列化的。程序创建的每个JavaBean类都实现序列化接口。

二.序列化实现的方式

如果需要将某个对象保存到磁盘上或者通过网络传输,那么这个类就应该实现Serializable接口或者Externalizable接口

1.Serializable

1.1 普通序列化

​ Serializable接口是一个标记接口,不用实现任何方法,一旦实现了此接口,该类的对象就是可序列化的。

​ 1.1.1序列化

public class Test01 implements Serializable{

    private String name;
    private int age;
    
    public Test01(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String toString() {
        return "Test01(" + "name = " + name + "age = " + age + ")" ;
    }
}

public class WriteObject11 {
    public static void main(String[] args) {
        try (// 创建一个ObjectOutputStream输出流
                ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.txt"))) {
            // 将对象序列化到文件s
            Test01 person = new Test01("9龙", 23);
            oos.writeObject(person);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1