社区
Java SE
帖子详情
java 序列化有哪些实际使用的地方
zhongyj2004
2010-06-01 04:55:21
知道java序列化实现了Serializable就可以把对象保存到文件,但是从来没有用过这个,这个一般用在什么场合。
...全文
1098
18
打赏
收藏
java 序列化有哪些实际使用的地方
知道java序列化实现了Serializable就可以把对象保存到文件,但是从来没有用过这个,这个一般用在什么场合。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
一般是分布式传递对象,或者网络传输的时候。需要序列化。
java
序列化
和反
序列化
详解
如果默认的
序列化
机制不符合需求,可以通过实现和方法来自定义
序列化
和反
序列化
的行为。
Java
序列化
是一个复杂但强大的机制,允许开发者轻松地持久化和传输对象。虽然它对于简单的用途来说可能显得有些重,但它提供了一种标准方式来处理对象的深复制,以及对象状态的保存和恢复。正确
使用
Java
序列化
需要对其工作原理有深入的理解,尤其是在涉及版本控制和自定义
序列化
行为时。
JAVA
的
序列化
Java
序列化
其实这个用的多不多,我觉得看公司的技术栈吧,如果用的是cloud那套,估计接触的会少点,但是也不是说没有,如果是dubbo那套的话,就多点,上次我们说Netty的编码解码的时候说到了谷歌的protoBuf,今天的话我们就来好好看看
Java
序列化
,详细的聊聊从上面这张图我们可以看到,两个进程进行通信时候,想要发送数据,要先要把数据发送到TCP缓冲区,然后形成报文再发送出去,同样的道理,接收端也是一样。我们可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式
什么是
java
序列化
,如何实现
java
序列化
?
Java
串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它
地方
把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。
Java
的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。
序列化
就是
java
序列化
详细讲解,以及需要注意的
地方
一.
Java
序列化
的作用 有的时候我们想要把一个
Java
对象变成字节流的形式传出去,有的时候我们想要从一个字节流中恢复一个
Java
对象。例如,有的时候我们想要 把一个
Java
对象写入到硬盘或者传输到网路上面的其它计算机,这时我们就需要自己去通过
java
把相应的对象写成转换成字节流。对于这种通用 的操作,我们为什么不
使用
统一的格式呢?没错,这里就出现了
java
的
序列化
的概念。
Java
中的
序列化
及
序列化
ID
参考转载自: 秒懂
Java
序列化
与反
序列化
Java
的
序列化
ID的作用 1. 定义
Java
的
序列化
:是指把
Java
对象转换为字节序列的过程
Java
的反
序列化
:是指把字节序列恢复为
Java
对象的过程 2. 为什么需要 我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个
Java
进程进行通信时,能否实现进程间的对象传送呢?答案是可以的。如何做到呢?这就需要
Java
序列化
与反
序列化
了。换句话说,一方面,.
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章