对象序列化.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对象序列化概要

LOGO LOGO LOGO 对象序列化 ID:SCSJ002-J2SE 对象序列化 描述对象序列化的目标 编程实现对象序列化 编程实现序列化的对象在网络上的传输 掌握Serializable和Externalizable接口 使用transient关键字保护数据 2011-05-03 * 对象系列化概述(案例14-1) 目标:将对象保存到磁盘或者在网络中传递 通过对象系列化,可以将对象保存在磁盘或网络中 为了实现对象系列化,对应的类必须实现下面的两种接口之一: Serializable Externalizable 对象序列化 2011-05-03 * 将对象保存到磁盘文件(案例14-2) 通过java.io.ObjectOutputStream可以将对象输出到磁盘文件、网络等设备 调用这个类的writeObject()方法,可以向特定的文件或网络输出对象 writeObject()方法序列化指定的对象,并遍历该对象对其它对象的引用,递归的序列化所有被引用到的其它对象,从而建立一个完整的序列化流 对象序列化 2011-05-03 * 从磁盘读出保存的对象(案例14-3) 通过java.io.ObjectInputStream对象可以从磁盘文件中读出保存的对象(或从网络中读出传递的对象) 调用这个类的readObject()方法,从特定的设备读出对象 readObject()方法反序列化输入流中的对象,遍历该对象中所有对其它对象的引用,并递归的反序列化这些引用对象 readObject()方法返回的是Object对象,所以,需要对它进行必要的(向下)造型操作。 对象序列化 2011-05-03 * 在网络中传递对象(案例14-4) 建立一个Socket连接,在这个连接之间传递系列化后的对象 对象序列化 2011-05-03 * 定制对象系列化(案例14-5) 可以通过定制对象序列化改变默认的序列化机制 通过在可序列化的类中实现方法writeObject(ObjectOutputStream out)和readObject(ObjectInputStream in),可以实现定制 对象序列化 2011-05-03 * transient关键字保护数据(案例14-6、-7) 通过在属性前面加上transient关键字,限制属性写入到文件或网络中 还可以在未实现系列化接口的引用类型属性前面加上transient关键字,避免对此类属性进行递归系列化时出现java.io.NotSerializableException异常 对象序列化 2011-05-03 * 系列化的另一种方式(案例14-8) 可以让需要系列化的类实现Serializable接口的子接口Externalizable Externalizable接口表示实现该接口的类在序列化中由该类本身来控制信息的写出和读入。 Externalizable接口定义: public interface Externalizable extends Serializable{ public void writeExternal(ObjectOutput out) throws IOException; public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException; } 对象序列化 2011-05-03 * 系列化的另一种方式(续) 步骤: 实现Externalizable接口 实现readExternal()/writeExternal()方法 需要一个不带参数的构造器(是否需要显式定义根据类是否有定义构造器而定) 2011-05-03 * 可被系列化的内容 什么被序列化 属性(包括基本数据类型、数组、对其它对象的引用) 类名 什么不被序列化 static的属性 方法 加了transient修饰符的属性 2011-05-03 * LOGO LOGO LOGO

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档