java对象的序列化与反序列化
来源:互联网 发布:重置网络命令win10 编辑:程序博客网 时间:2024/06/08 02:04
IO——对象的序列化和反序列化
一、概念
1、对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化
2、序列化流(ObjectOutputStream),字节的过滤流 —— writeObject()方法
反序列化流(ObjectInputStream)—— readObject()方法
3、序列化接口(Serializable)
对象必须实现序列化接口,才能进行序列化,否则将出现异常。
这个借口,没有任何方法,只是一个【标准】
二、transient关键字
1、transient修饰的元素,不会进行JVM默认的序列化:如int transient age = 10;在序列化和反序列化后,age的值为默认分配的值0(去掉某一个序列化)
2、可以自己通过重写序列化操作方式,来对transient修饰的元素进行想要的序列化。
自己实现序列化方法:通过从ArrayList中拿到writeObject()和readObject()方法,进行自写完成。
· 先执行s.defaultWriteObject(); 和 s.defaultReadObject()方法
· 再对于无法默认序列化的成员,可以进行.writeObject(obj)和this.obj = s.readObject()完成序列化
一、概念
1、对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化
2、序列化流(ObjectOutputStream),字节的过滤流 —— writeObject()方法
反序列化流(ObjectInputStream)—— readObject()方法
3、序列化接口(Serializable)
对象必须实现序列化接口,才能进行序列化,否则将出现异常。
这个借口,没有任何方法,只是一个【标准】
二、transient关键字
1、transient修饰的元素,不会进行JVM默认的序列化:如int transient age = 10;在序列化和反序列化后,age的值为默认分配的值0(去掉某一个序列化)
2、可以自己通过重写序列化操作方式,来对transient修饰的元素进行想要的序列化。
自己实现序列化方法:通过从ArrayList中拿到writeObject()和readObject()方法,进行自写完成。
· 先执行s.defaultWriteObject(); 和 s.defaultReadObject()方法
· 再对于无法默认序列化的成员,可以进行.writeObject(obj)和this.obj = s.readObject()完成序列化
3、这样做的目的是提高效率。如ArrayList里,对数组的有效对象进行序列化
三.序列化时父类构造函数:<br>
1、一个类实现了序列化接口(Serializable),那么其子类都可以进行序列化,不要再去实现序列化接口了。
2、对子类对象进行反序列化操作时,如果其父类没有实现序列化接口(Serializable),那么其父类的构造函数就会被调用,若实现了,则不会调用。
注意内部类和大括号的问题
0 0
- Java 对象的序列化与反序列化实践
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- 【Java】对象的序列化与反序列化
- java对象的序列化与反序列化
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- JAVA对象的序列化与反序列化
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- java对象的序列化与反序列化
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- Java对象的序列化与反序列化
- C++ oj题
- 如何创建一个基于Maven的SmartGWT项目
- Android 水平动态进度条样式修改
- hannnnah_j’s Biological Test
- 演示Queue,队列-01
- java对象的序列化与反序列化
- mybatis实战教程(mybatis in action)之五:与spring3集成
- iOS10注册极光推送
- 演示Queue,队列-02
- PAT Tree 子串匹配结构
- mysql 学习(1)
- Recording MP3 Using Only HTML5 and JavaScript (Recordmp3.js)
- Intellij idea常用快捷键
- Visiual Studio2012 CLR20r3问题