序列化

基本概念

非持久化:

对于存在 JVM(Java 虚拟机)的对象,其内部的状态只能保持在内存中,一旦 JVM 停止工作,内部的状态也就消失了,所以它是非持久化的

持久化: 通常的作法是将其保存到文件或数据库

序列化: 对象序列化,可以将 JVM 中的活动对象转换成字节流, 以便存储在文件中或在网络上传输

反序列化:  将文件或数据库中的字节数组(流)转换成 JVM的活动对象, 就是打开字节流并重构对象  

Serializable

实现该接口

序列化失败

transient  static 不想  

Thread 不能

Externalizable 自定义序列化

序列化 transient  static修饰的属性

serialVersionUID

定值: 1L

Jvm: 序列化后 , 属性改变, 会报错InvalidClassException

序列化应用场景

一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。
二:对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。

posted @ 2016-10-26 17:54  liuconglin  阅读(139)  评论(0编辑  收藏  举报