对象的序列化,反序列化
- 对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化
- 序列化流(ObjectOutputStream),是过滤流—-writeObject
反序列化流(ObjectInputStream)—readObject
- 序列化接口(Serializable)
对象必须实现序列化接口 ,才能进行序列化,否则将出现异常
这个接口,没有任何方法,只是一个标准 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17public static void main(String[] args) throws Exception{ String file = "demo/obj.dat"; //1.对象的序列化 /*ObjectOutputStream oos = new ObjectOutputStream( new FileOutputStream(file)); Student stu = new Student("10001", "张三", 20); oos.writeObject(stu); oos.flush(); oos.close();*/ //2.对象反序列化 ObjectInputStream ois = new ObjectInputStream( new FileInputStream(file)); Student stu = (Student)ois.readObject(); System.out.println(stu); ois.close(); }
transient关键字
序列化中 子类和父类构造函数的调用问题
可以提高性能有效数据进行序列化无效不序列化
序列化中 子类和父类构造函数的调用问题
- 对子类对象进行反序列化操作时,
- 如果其父类没有实现序列化接口
- 那么其父类的构造函数会被调用
- 一个类实现了序列化接口,那么其子类都可以进行序列化
}
本文参与
腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-20,如有侵权请联系
cloudcommunity@tencent.com 删除