A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 如远行客 中级黑马   /  2013-12-30 12:17  /  1759 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 如远行客 于 2013-12-30 16:19 编辑

序列化的好处是什么???

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

6 个回复

倒序浏览
1. 序列化是将对象的状态存储到特定介质中的过程(将对象状态转换为可保持或传输的过程);
2. 序列化的作用之一是将对象状态保存到存储媒体,以便可以在以后阶段重新创建精确副本;
3. 序列化的作用之二是将对象按值从一个应用程序域发送至另一个应用程序域。

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
我知道二进制序列化[Serilizable],二进制序列化目的就是将对象以二进制形式存入文件中.http://www.cnblogs.com/tobecabbage/p/3492566.html

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报 1 0
我知道二进制序列化[Serilizable],二进制序列化目的就是将对象以二进制形式存入文件中.http://www.cnblogs.com/tobecabbage/p/3492566.html
回复 使用道具 举报
序列化就是把一个对象保存到一个文件或数据库字段中去,好处就是 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中,当下次启动时可以看到对象都有什么样的信息,

可以参考:http://www.cr173.com/html/18207_1.html

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
序列化是用来通信的,服务端把数据序列化,发送到客户端,客户端把接收到的数据反序列化后对数据进行操作,完成后再序列化发送到服务端,服务端再反序列化数据后对数据进行操作。说白了,数据需要序列化以后才能在服务端和客户端之间传输。这个服务端和客户端的概念是广义的,可以在网络上,也可以在同一台机器的不同进程中,甚至在同一个进程中进行通信。在传统编程中,对象是通过调用栈间接的与客户端交互,但在面向服务的编程中,客户端永远都不会直接调用实例。不知道说的明不明白。

好吧,我说的确实不够明白,你问的是为什么需要序列化,我只是说了序列化的一个应用。那我就来说说序列化的好处吧。不序列化也可以传输,但是无法跨平台,安全性也无法保障。我说的是面向服务编程中的作用,在传统编程中,你在表示层实例化一个业务对象,然后调用业务对象中的方法,你想过为什么能这样调用吗?这样做耦合度太高,很不好。如果序列化以后通过特定的协议传输数据就不一样了,表示层通过代理或通道向服务层发送特定的数据格式,这个数据就是序列化以后的,比如XML,服务端接收到以后要进行反序列化,生成服务端可识别的数据格式,比如一个类,然后对数据进行操作,再序列化发送到客户端,客户端再反序列化。这样客户端可以使用和服务端完全不同的开发平台,只要它能够对xml数据进行反序列化,而xml是具有工业标准的数据格式,基本各平台都支持。这也适用于在进程间通信。如果在进程内通信,也可以做到更高的安全性,对象不再通过调用栈交互,而是通过代理或通道

评分

参与人数 1技术分 +2 收起 理由
陈福军 + 2

查看全部评分

回复 使用道具 举报
要序列化的类前要打上Serilizable标签,这个类中所引用的其他类也要打上Serilizable标签,否则不能序列化.
序列化可以把内存中的对象存到硬盘中,下次直接读取到内存中

评分

参与人数 1技术分 +2 收起 理由
陈福军 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马