没有合适的资源?快使用搜索试试~ 我知道了~
java序列化(Serializable)的作用和反序列化.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 67 浏览量
2021-11-21
22:02:56
上传
评论
收藏 23KB PDF 举报
温馨提示
试读
6页
java序列化(Serializable)的作用和反序列化.pdf
资源推荐
资源详情
资源评论
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 代码
File OutputStream 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
资源评论
筱筱笎琞
- 粉丝: 8
- 资源: 15万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功