电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

java序列化(Serializable)的作用和反序列化

java序列化(Serializable)的作用和反序列化_第1页
1/6
java序列化(Serializable)的作用和反序列化_第2页
2/6
java序列化(Serializable)的作用和反序列化_第3页
3/6
java 序列化(Serializable)的作用和反序列化 1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保 存 object states,但是 Java 给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候; b)当你想用套接字在网络上传送对象的时候; c)当你想通过 RMI 传输对象的时候; 3、当对一个对象实现序列化时,究竟发生了什么? 在没有序列化前,每个保存在堆(Heap)中的对象都有相应的状态(state),即实例变量(instance ariable)比如: java 代码 Foo myFoo = new Foo(); myFoo .setWidth(37); myFoo.setHeight(70); 当 通过下面的代码序列化之后,MyFoo 对象中的width 和Height 实例变量的值(37,70)都被保存到 foo.ser 文件中,这样以后又可以把它 从文件中读出来,重新在堆中创建原来的对象。当然保存时候不仅仅是保存对象的实例变量的值,JVM 还要保存一些小量信息,比如类的类型等以便恢复原来的对 象。 java 代码 FileOutputStream fs = new FileOutputStream("foo.ser"); ObjectOutputStream os = new ObjectOutputStream(fs); os.writeObject(myFoo); 4、实现序列化(保存到一个文件)的步骤 a、Make a FileOutputStream java 代码 FileOutputStream fs = new FileOutputStream(“foo.ser”); b、Make a ObjectOutputStream java 代码 ObjectOutputStream os = new ObjectOutputStream(fs); c、write the object java 代码 os.writeObject(myObject1); os.writeObject(myObject2); os.writeObject(myObject3); d、 close the ObjectOutputStream java 代码 os.close(); 5、举例说明 Java 代码 package com.hotye.dchaoxiong.serializabletest; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; public class Box implements Serializable { 1. private static final long serialVersionUID = 1L; 2. private int width; 3. private int height; 4. pr...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

java序列化(Serializable)的作用和反序列化

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部