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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cofujun 中级黑马   /  2016-6-3 22:28  /  687 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

所谓序列化就是把java复杂对根据某种约定变成101011001.......的一个长字节列数据存放或者传输到某个地方存起来,硬盘就是一个文件,数据库就是一个blob字段。
需要的时候再根据之前的转换约定反序列化转化成你转之前的对象数据,继续供你使用。
这个类似将字符串通过某种编码变成字节数组一样的道理,你可以把字符串编码看成是java对象序列化的一个特例实现。

java提供的序列化对象就是一个接口,告诉大家一个约定,凡是实现了这个接口的java类,其实例都是可以序列化的,反之就是告诉大家这个类是不能序列化的,也就是不能保存对象当时的数据状态。

序列化的作用主要是为了把java复杂对象变成可传输的参数对象供对方使用。

java序列化的一个经典应用就是JMS消息,java任何实现了序列化的类其实例可以被JMS进行数据交换。发送方将java实例对象序列化成字节数组放到JMS队列,接收方拿到这个字节数组再根据约定反序列化编程需要的实例对象。这样做的目的是为了保证发送方和接收方是松耦合的设计。接收方不需要发送方的环境就可以得到复杂的java对象参数。

2 个回复

倒序浏览
老大 也是蛮拼的啊.  哈哈哈哈.
回复 使用道具 举报
嗯虽然看完还是不太懂,但是写的还是不错的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马