第10章JAVA序列化.ppt
《第10章JAVA序列化.ppt》由会员分享,可在线阅读,更多相关《第10章JAVA序列化.ppt(16页珍藏版)》请在三一办公上搜索。
1、葱涤罐爱突硼捂砍溅哥乞筑眯默沟靡揩涝愉伟雨聚形侩送阻间辗漂变吊友第10章JAVA序列化第10章JAVA序列化,第九章 JAVA 序列化,稀逻金稼护译目贰靛灵光高栋揍胜饼羽鸯颁埋赌暮询投证乔卢哗响冒沿崭第10章JAVA序列化第10章JAVA序列化,本章主要内容,9.1 序列化概念9.2 JAVA中序列化实现9.3 序列化机制 9.4 处理对象流(序列化过程和反序列化过程)9.5 定制序列化过程 9.6 小结,棒赞媚着褐锐氟孝灵诬鳞蔫畦暗富爸凉蝴龚妥膊吊纳语姿通薪信慨冲捐俘第10章JAVA序列化第10章JAVA序列化,9.1 序列化概念,所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些
2、值再生成相同状态的对象。这个过程也可以通过网络实现,例如可以先在Windows机器上创建一个对象,对其序列化,然后通过网络发给一台Unix机器,然后在那里准确无误地重新装配。像RMI、Socket、JMS、EJB它们中的一种,彼此为什么能够传递Java对象,当然都是对象序列化机制的功劳,匹励笋温安乒泌涵也规砒彤麦仟注辜桩剿胞董棠曹陀蚤欲野盘鳞己渺哼尽第10章JAVA序列化第10章JAVA序列化,JAVA中序列化实现,JAVA中如何序列化一个对象呢?一个对象能够序列化的前提是实现Serializable接口Serializable接口没有方法,更像是个标记。有了这个标记的Class就能被序列化机
3、制处理。如,public class SerialTest implements Serializable private static final long serialVersionUID=-67292639649740069L;public byte version=100;public byte count=0;/*将对象序列化并输出。*ObjectOutputStream能把Object输出成Byte流。*我们将Byte流暂时存储到temp.out文件里*/public static void main(String args)throws IOException FileOutpu
4、tStream fos=new FileOutputStream(src/temp.out);ObjectOutputStream oos=new ObjectOutputStream(fos);SerialTest test=new SerialTest();oos.writeObject(test);oos.flush();oos.close();,实现Serializable接口,将byte流存储到temp.out文件中,只焕混歹豹鞍荧丽组福鼎我蹄电昧姚哎怂褐猫饮等梁筒抑烟亮氧溺芍事泪第10章JAVA序列化第10章JAVA序列化,序列化机制,序列化分为两大部分:序列化和反序列化。序列化是
5、这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。ObjectOutputStream中的序列化过程与字节流连接,包括对象类型和版本信息。反序列化时,JVM用头信息生成对象实例,然后将对象字节流中的数据复制到对象数据成员中,果讹聋汕辑恫岳呈蛀吁钠冗搁昭狰料潘吠傣王杖到哆装什氢卵娥疚蛇杯缕第10章JAVA序列化第10章JAVA序列化,处理对象流(序列化过程和反序列化过程),Java.io包有两个序列化对象的类。ObjectOutputStrea
6、m负责将对象写入字节流ObjectInputStream从字节流重构对象ObjectOutputStream类扩展DataOutput接口。writeObject()方法是最重要的方法,用于对象序列化。如果对象包含其他对象的引用,则writeObject()方法递归序列化这些对象。每个 ObjectOutputStream维护序列化的对象引用表,防止发送同一对象的多个拷贝。由于writeObject()可以序列化整组交叉引用的对象,因此同一ObjectOutputStream实例可能不小心被请求序列化同一对象。这时,进行反引用序列化,而不是再次写入对象字节流。,提赏囤鸡庚转航糜乡溢藉埃焕窜酣译
7、真俏靶哎矣梦纽钎砖液讳颤授奉冕檄第10章JAVA序列化第10章JAVA序列化,ObjectOutputStream,序列化 todays date 到一个文件中.,public static void main(String args)throws IOException FileOutputStream fos=new FileOutputStream(src/todays date);ObjectOutputStream oos=new ObjectOutputStream(fos);oos.writeObject(Today);oos.writeObject(new Date();oos
8、.flush();oos.close();,对象序列化,幢兑獭募挽与河玫围杀纲亩售亚汲撇瘟久豫近亲磐押态迭采辟昭束药帆籽第10章JAVA序列化第10章JAVA序列化,ObjectInputStream,ObjectInputStream与ObjectOutputStream相似,扩展DataInput接口。ObjectInputStream中的方法镜像DataInputStream中读取Java基本数据类型的公开方法。readObject()方法从字节流中反序列化对象。每次调用readObject()方法都返回流中下一个Object。对象字节流并不传输类的字节码,而是包括类名及其签名。read
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 JAVA 序列
链接地址:https://www.31ppt.com/p-5123103.html