<p><span style="font-size: 14px;"> 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,能够轻松地存储和传输数据。<br/>序列化的目的 <br/>一、以某种存储形式使自定义对象持久化; <br/>二、将对象从一个地方传递到另外一个地方。 <br/>三、使程序更具维护性<br/>----------------------------------------------------------------------------------------------------------------<br/>将对象的状态信息转换为能够存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。之后,能够经过从存储区中读取或反序列化对象的状态,从新建立该对象。<br/> 序列化使其余代码能够查看或修改那些不序列化便没法访问的对象实例数据。确切地说,代码执行序列化须要特殊的权限:即指定了 SerializationFormatter 标志的 SecurityPermission。在默认策略下,经过 Internet 下载的代码或 Intranet 代码不会授予该权限;只有本地计算机上的代码才被授予该权限。<br/> 一般,对象实例的全部字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,可以解释该格式的代码有可能可以肯定这些数据的值,而不依赖于该成员的可访问性。相似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。<br/> 对于任何可能包含重要的安全性数据的对象,若是可能,应该使该对象不可序列化。若是它必须为可序列化的,请尝试生成特定字段来保存不可序列化的重要数据。若是没法实现这一点,则应注意该数据会被公开给任何拥有序列化权限的代码,并确保不让任何恶意代码得到该权限。<br/>-----------------------------------------------------------------------------------------------------------------<br/>在JAVA编程中:<br/><br/><br/>就是保存,读取。<br/>*****************************<br/>序列化将信息保存起来,反序列化读取已保存的信息,<br/>就像你的QQ登陆时的密码,记住密码就是一个序列化的功能。<br/><br/><br/>------------------------------------------------------------------------------------------------------------------------------------------<br/><br/><br/>一个形象的例子:http://www.cnblogs.com/wsmall/archive/2008/03/18/1110779.html<br/><br/><br/>都玩过游戏么?应该知道游戏有一个存档的功能,我每次不想玩得时候就能够存档,而后再玩得时候咱们根本不须要从新开始玩(要是每次都从新玩,估计就没有什么人能有足够的耐心玩游戏了),只须要读档就能够了。咱们如今学习的事面向对象的思想,那么在咱们眼中不论是咱们的游戏角色仍是游戏中的怪物、装备等等均可以当作是一个个的对象,进行简单的分析。 <br/><br/>角色对象(包含等级、性别、经验值、HP、MP等等属性) <br/><br/>武器对象(包含武器的类型、武器的伤害、武器附加的能力值等等属性) <br/><br/>怪物对象(包含等级、经验值、攻击、怪物类型等等) <br/><br/>因而玩游戏过程变的很是有意思了,建立游戏角色就好像是建立了一个角色对象,拿到武器就好像建立了一个武器对象,遇到的怪物、NPC等等都是对象了。 <br/><br/>而后再用学过的知识进行分析,咱们发现对象的数据都是保存在内存中的,应该都知道内存的数据在断电之后是会消失的,可是咱们的游戏通过存档之后,就算你关机了几天,再进入游戏的时候,读取你的存档发现你在游戏中的一切都还在呢,奇怪了,明明内存中的数据已经没有了啊,这是为何呢?因而再仔细考虑,电脑中有硬盘这个东西在断电之后保存的数据是不会丢的(要是因为断电致使的硬盘损坏了,没有数据了,哈哈,不在此考虑中)。那么应该很容易的想到这些数据是被保存在硬盘中了。没错!这就是对象的持久化,也就是咱们今天要讲的对象的序列化。那么反序列化就很好理解了就是将存放在硬盘中的信息再读取出来造成对象。 <br/><br/>序列化/反序列化的概念: <br/><br/>序列化是指将对象实例的状态存储到存储媒体的过程 <br/><br/>反序列化是指将存储在存储媒体中的对象状态装换成对象的过程 <br/><br/></span></p>html