Java中对象的串行化(Serialization)和transient关键字-金色阳光.docxVIP

Java中对象的串行化(Serialization)和transient关键字-金色阳光.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
方法调用 方法调用 (RMI) 。5) 对象串行化应允许对象定义自身 的格式 Java中对象的串行化 (Serialization )和transient关键字-金 色阳光 1.Java中对象的串行化 (Serialization )和transient关键字: 1. 对象的串行化( Serialization ) 一、串行化的概念和目的 什么是串行化对象的寿命通常随着生成该对象的程序的终 止而终止。有时候,可能需要将对象的状态保存下来,在需 要时再将对象恢复。我们把对象的这种能记录自己的状态以 便将来再生的能力。叫作对象的持续性 (Persistence)。对象通 过写出描述自己状态的数值来记录自己,这个过程叫对象的 串行化 (Serialization) 。串行化的主要任务是写出对象实例变 量的数值。如果交量是另一对象的引用,则引用的对象也要 串行化。这个过程是递归的,串行化可能要涉及一个复杂树 结构的单行化,包括原有对象、对象的对象、对象的对象的 对象等等。对象所有权的层次结构称为图表 (graph)。 2.串行 化的目的Java对象的单行化的目标是为 Java的运行环境提 供一组特性,如下所示: 1) 尽量保持对象串行化的简单扼 要 ,但要提供一种途径使其可根据开发者的要求进行扩展 或定制。2)串行化机制应严格遵守 Java的对象模型。对象 的串行化状态中应该存有所有的关于种类的安全特性的信 息。3)对象的串行化机制应支持 Java的对象持续性。4)对 象的串行化机制应有足够的 可扩展能力以支持对象的远程 即其自身的数据流表示形式,可外部化接口来完成这项功 能。、串行化方法从JDK1.1开始,Java语言提供了对象串行化机制 ,在java.io包中,接口 Serialization 用来作为实现对象串行化的工具只有实现了 Serialization 的类的对象才可以被串行化。Serializable 接口中没有任何的方法。当一个类声明要实现Serializable 接口时,只是表明该类参加串行化协议,而不需要实现任何特殊的方法。下面我们通过实例介绍如何对对象进行串行化。 1.定义一个可串行化对象一个类,如果要使其对象可以被串行化, 必须实现 Serializable 能。 、串行化方法 从JDK1.1开始,Java语言提供了对象串行化机制 ,在java.io 包中,接口 Serialization 用来作为实现对象串行化的工具 只有实现了 Serialization 的类的对象才可以被串行化。 Serializable 接口中没有任何的方法。当一个类声明要实现 Serializable 接口时,只是表明该类参加串行化协议,而不需 要实现任何特殊的方法。下面我们通过实例介绍如何对对象 进行串行化。 1.定义一个可串行化对象一个类,如果要使其 对象可以被串行化, 必须实现 Serializable 接口。 我们定义 个类 Student 如下: public class Student implements Serializable{ int id; //学号 String name; //姓名 int age; //年龄 String department // 系别 public Student(int id,String name,int age, String depart ment){ this.id=id ; this.name=name; this.age=age; this.department=department ; } }2. 构造对象的输入/ 输出流要串行化一个对象,必须与一定的对象输出/输入流 联系起来,通过对象输出流将对象状态保存下来,再通过对 象输入流将对象状态恢复。 java.io 包中,提供了 ObjectInputStream 和 ObjectOutputStream 将数据流功能扩展 至可读写对象。在 ObjectInputStream 中 用 readObject() 方法 可以直接读取一个对象, ObjectOutputStream 中用 writeObject() 方法可以直接将对象保存到输出流中 public class ObjectSer{public static void main(String public class ObjectSer{ args[ ])throws IOExcep tion,ClassNotFoundException{ Student stu=new Student(981036,”LiuMing ”,18,”CSD ”) ; FileOutputStream fo=new FileOutputStream( ” data.ser” );

文档评论(0)

大宝&小宝 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档