java 序列化有哪些实际使用的地方

zhongyj2004 2010-06-01 04:55:21
知道java序列化实现了Serializable就可以把对象保存到文件,但是从来没有用过这个,这个一般用在什么场合。
...全文
962 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒙奇D路飞 2011-06-20
  • 打赏
  • 举报
回复
那为什么不直接写I/O流写到文件里,再用的时候直接读入呢?是不方便吗?因为你保存的是对象,初始化属性更方便是吗?[Quote=引用 9 楼 keithcai 的回复:]

大二学JAVA的时候,结课要交个画图板程序。我在其中定义了一个图元类数组,用来记录画的每一笔,以便重绘和撤销。保存的时候就保存这个数组到文件,这个就需要用到序列化了。希望对你有帮助
[/Quote]
yasu19850408 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 dracularking 的回复:]
说说我的理解
根本应用场景是:
1.当对象需要被网络传输时
2.对象状态需要被持久化时

围绕根本,就有很多实际的拓展应用
在对象层级进行存储 比存储零碎的数据要方便、高效,相当于一个打包存储方案
网络上不同程式间也有了一个可以以对象为单位交流的可能
[/Quote]
xjlcl1983 2010-06-04
  • 打赏
  • 举报
回复
个人感觉当需要进行“流操作”(文件流,字节流之类的)就应当要进行需要序列话
dracularking 2010-06-04
  • 打赏
  • 举报
回复
说说我的理解
根本应用场景是:
1.当对象需要被网络传输时
2.对象状态需要被持久化时

围绕根本,就有很多实际的拓展应用
在对象层级进行存储 比存储零碎的数据要方便、高效,相当于一个打包存储方案
网络上不同程式间也有了一个可以以对象为单位交流的可能
zhongyj2004 2010-06-03
  • 打赏
  • 举报
回复
这个在实际编程中我一次也没用过,但是有些对象是实现了Serializable接口的。
比如Hibernate自动生成的VO文件,这个Hibernate会使用吗
holsten32 2010-06-03
  • 打赏
  • 举报
回复
dingdingdingdingdingding
dr_lou 2010-06-03
  • 打赏
  • 举报
回复
序列化是为io做准备。
xiaxinhuo 2010-06-03
  • 打赏
  • 举报
回复
主要用于网络的传输
keithcai 2010-06-02
  • 打赏
  • 举报
回复
大二学JAVA的时候,结课要交个画图板程序。我在其中定义了一个图元类数组,用来记录画的每一笔,以便重绘和撤销。保存的时候就保存这个数组到文件,这个就需要用到序列化了。希望对你有帮助
宁静-夏天 2010-06-02
  • 打赏
  • 举报
回复
判断class对象是否能被序列化 看是否实现 Serializable 进行标记

对象字段是否序列化保存状态 看是否使用关键字 transient,使用时不保存状态信息。
beiouwolf 2010-06-02
  • 打赏
  • 举报
回复 3
游戏玩过没
游戏都有存档吧
一个存档就看作一个序列化文件吧

你游戏存档能干点啥那,可以拷贝给别人玩吧,可以留着以后玩吧
明白?
宁静-夏天 2010-06-01
  • 打赏
  • 举报
回复
序列化这个概念太泛化了,说白了就是方便计算机表述,使用010101,方便传输和存储。

java 序列化 也是为了 传输和存储。只是 Serializable 是使用java内部序列化格式。

一般很少有使用java 序列化对象进行通信的,一般都是使用某种协议的驱动,毕竟java自身的序列化信息不够简洁。 rmi 以前是使用 java 序列化,但后来 EJB2 rmi 也改成了 IIOP通讯协议。
现在流行的web service 也是使用的文本协议 soap。
当然你也可以自定义更简单的协议。自己使用的情况下。

对存储的进行细化,还可以分为仅仅为了保存信息,cache 优化。
比如 EJB 对象,在没有人使用一个 bean的时候,容器会选择对bean进行序列化 cache到硬盘,如果有了请求再load到内存。 java 自身load 自己的序列化信息还是有优势的。


closewbq 2010-06-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhongyj2004 的回复:]
知道java序列化实现了Serializable就可以把对象保存到文件,但是从来没有用过这个,这个一般用在什么场合。
[/Quote]
序列化主要用于网络传输。
可以看看序列化,和反序列化,哪些属性可以控制是否被反序列化,挺有意思的。
yuwenbao 2010-06-01
  • 打赏
  • 举报
回复
比如EJB远程调用 分布式存储,缓存存储等
fenshen6046 2010-06-01
  • 打赏
  • 举报
回复
数据传输并复原。在j2ee中页面与后台使用的比较多。尤其是在列表中的时候使用尤为突出。
举例:
一个人员的列表保存起来的话,你可以将这个列表序列化,传到后台,然后再反序列化成person对象直接进行对象的保存
若鱼1919 2010-06-01
  • 打赏
  • 举报
回复
序列化可以保持对象的状态。
典型的一个应用:
tomcat关闭以后会把session对象序列化到SESSIONS.ser文件中,等下次启动的时候就把这些session再加载到内存里面来。
龙四 2010-06-01
  • 打赏
  • 举报
回复
我调用你的jvm的方法,结果返回到我的jvm上进行处理
zerowzj 2010-06-01
  • 打赏
  • 举报
回复
一般是分布式传递对象,或者网络传输的时候。需要序列化。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧