22.序列化

序列化和反序列化:
  • 序列化:

指把堆内存中的Java对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络的节点(在网络上传输).我们把这个过程称之为序列化.

  • 反序列化:

把磁盘中的对象数据或者把网络节点上的对象数据,恢复成Java对象的过程.我们称之为反序列化.

为什么要做序列化:

在分布式系统中,需要共享的数据的JavaBean对象,都得做序列化.此时需要把对象在网络上 传输,此时就得把对象数据转成二进制形式.以后存储在HttpSession中的对象,都应该事先序列化接口(只有事先序列化接口的类才能做序列化操作).

服务器钝化:如果服务器发现某些对象好久都没有活动了,此时服务器就会把这些内存中 的对象,持久化在本地磁盘文件中(Java对象-->二进制文件).如果某些对象需要活动的时候,先在内存中去寻找,找到了就不再去磁盘中,反序列化我们的对象数据,恢复成java对象.

需要做序列化的对象的类,必须实现序列化接口:java.io.Serializable(标志接口,没有抽象方法)

//底层会判断,如果当前对象是Serializable的实例,才允许做序列化
boolean ret = Java对象 instanceof Serializable;

在Java中大多数类都已经 实现Serializable接口.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JAVA序列化机制的深入研究 对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整...
    时待吾阅读 10,920评论 0 24
  • 充满“负能量”的人,可能会减少你80%的动力; 远离“负能量”的人,可能会减少你80%的压力。 -1- 不知道从什...
    心独有韵阅读 1,091评论 0 0
  • Javascript的每个对象(null除外)都和另一个对象相关联,另一个对象就是我们熟知的原型,每个对象都是从原...
    ShineShao阅读 194评论 0 2