大家都说序列化是将内存中的数据,比如说一个对象转化成2进制序列,这样才能发送到别的主机上,我很纳闷,内存中所有数据不都是以2进制序列形式体现的么?为什么还要专门序列化?
解决方案 »
- 请问如何遍历dtree树
- 天啊!急晕了啊!!我的javascript脚本文件保存不了!!!!为什么啊???求解!!!!!!
- 急需一个jsp的聊天室
- jfreechart键盘事件
- 为什么我的系统不能打开doc文档
- 怎样才能打开另一台机器上的文件呢?
- 利用POI做成Excel表格后,如果直接在浏览器里面打开
- 怎样在tomcat\conf\server。xml中加入其他代码
- 记录列表checkbox用了同一个name,value不同,提交时能否在下一页获得?
- 该怎样使用javamail发送附件?表单设置dectype="multipart/form-data"之后怎样得到附件?
- 窗口程序显示web项目有问题?
- 左右两个<td>因为内容长度不一样导致不能对顶对齐
在通过反序列化就可以有升成一个对象.比如说用户登陆后把用户信息放入Cookies,当然Cookies是不能一对象形式存放的.那我们可以把它序列化存放.
等用户下次登陆的时候,我们可以看用户的Cookies是否有序列化的用户信息,有的话就反系列化它,同时默认登陆.不过序列化消耗资源,据说比反射还慢.
在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,
然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。例如好像AWT/SWING里面有个JList之类的类 你可以把这个类的对象保存到一个文件里面 然后把它读取出来他还是那个样子
序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例 ”
其实我还不是特别明白“将数据分解成字节流”不分解就不是字节流了么?在硬盘和内存中存储不都是字节形式么?