8-Java网络程序设计.pptVIP

  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文档。上传文档
查看更多
8-Java网络程序设计.ppt

序列化和反序列化Person对象 public class SerDemo03 { public static void main(String[] args) throws Exception { ser(); // 序列化 dser(); // 反序列化 } public static void ser() throws Exception { // 序列化操作 File f = new File(D: + File.separator + test.txt); ObjectOutputStream oos = null; OutputStream out = new FileOutputStream(f); // 文件输出流 oos = new ObjectOutputStream(out); // 为对象输出流实例化 oos.writeObject(new Person(张三, 30)); // 保存对象到文件 oos.close(); // 关闭输出 } public static void dser() throws Exception { // 反序列化操作 File f = new File(D: + File.separator + test.txt); ObjectInputStream ois = null; InputStream input = new FileInputStream(f); // 文件输出流 ois = new ObjectInputStream(input); // 为对象输出流实例化 Object obj = ois.readObject(); // 读取对象 ois.close(); // 关闭输出 System.out.println(obj); } } 8.6 可序列化类的不同版本的序列化兼容性 凡是实现Serializable接口的类都有一个表示序列化版本标识符的静态变量: private static final long serialVersionUID;   serialVersionUID的取值是Java运行时环境根据类的内部细节自动生成的。如果对类的源代码作了修改,再重新编译,新生成的类文件的serialVersionUID的取值有可能也会发生变化。 类的serialVersionUID的默认值完全依赖于Java编译器的实现,对于同一个类,用不同的Java编译器编译,有可能会导致不同的serialVersionUID,也有可能相同。为了提高serialVersionUID的独立性和确定性,强烈建议在一个可序列化类中显示的定义serialVersionUID,为它赋予明确的值。显式地定义serialVersionUID有两种用途:   1) 在某些场合,希望类的不同版本对序列化兼容,因此需要确保类的不同版本具有相同的serialVersionUID;   2) 在某些场合,不希望类的不同版本对序列化兼容,因此需要确保类的不同版本具有不同的serialVersionUID。 JDK安装目录的bin目录下有个serialver.exe用于查看serialVersionUID。 用法:serialver 字节码 class Customer implements Serializable { private String name; private int age; public Customer(String name, int age) { this.name = name; this.age = age; } public String toString() { return name= + name + , age= + age; }} Java网络程序设计 信息工程系 孙琳 2013-08 第八章 对象序列化 信息工程系 孙琳 2013-08 8 对象序列化 8.1 JDK类库中的序列化API 8.2 实现Serializable接口 8.3 通过Socket传递Java对象 8.4 对象序列化的安全 8.5 Externalizable接口 8.6 可序列化类的不同版本的序列化兼容性 概述 当两个进程进行远程通信时,彼此可以发送各种类型的数据,包括文本\图片\音频\视频等,都会以二进制序列的形式在网络上传送. 当两个java进程进行通信时,一个进程能否把一个java对象发送给另一个进程呢? 答案是肯定的! 概述 如何才能做到呢 1)发送方需要把这个java对

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档