美文网首页Java
序列化和反序列化理解

序列化和反序列化理解

作者: 码农修行之路 | 来源:发表于2020-12-15 22:26 被阅读0次
序列化

简单点来说,序列化就是把我们包含了数据的对象,转化成一堆数据,保存在文件中。

序列化的作用:
(1).永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中)
(2).通过序列化操作将对象数据在网络上进行传输(由于网络传输是以字节流的方式对数据进行传输的.因此序列化的目的是将对象数据转换成字节流的形式)
(3).将对象数据在进程之间进行传递(Activity之间传递对象数据时,需要在当前的Activity中对对象数据进行序列化操作.在另一个Activity中需要进行反序列化操作讲数据取出)
(4).Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长(即每个对象都在JVM中)但在现实应用中,就可能要停止JVM运行,但有要保存某些指定的对象,并在将来重新读取被保存的对象。这是Java对象序列化就能够实现该功能。(可选择入数据库、或文件的形式保存)
(5).序列化对象的时候只是针对变量进行序列化,不针对方法进行序列化.
(6).在Intent之间,基本的数据类型直接进行相关传递即可,但是一旦数据类型比较复杂的时候,就需要进行序列化操作了.

序列化的实现:自定义的类必须实现 Serializable 或者 Parcelable 接口

序列化Serializable 或者 Parcelable 比较:

  1. Serializable是Java中的序列化接口,其使用起来简单但是开销很大。
  2. Parcelable是Android中的序列化方式,效率更高,缺点是使用较为麻烦。
  3. Parcelable主要用在内存序列化上;通过序列化实现存储和网络传输还是建议用Serializable
  • Serializable 是Java提供的一个序列化的接口,非常简单,只需自行声明一个serialVersionUID即可,其他的都已经封装好了
  • Parcelable 不像Serialable那样,可以直接指定中间文件。所以反序列化时不能够通过打开文件读取的方式来进行,Parcelable一般是通过Intent使用的,放进Intent里面来传递数据

相关文章

  • 【Flink 精选】常见的性能问题及其定位思路

    常见的性能问题及其定位思路 1.常见的性能问题 (1)JSON序列化和反序列化 source的序列化,sink的反...

  • 序列化和反序列化的概念

    1序列化:把对象转为字节序列的过程 为序列化; 2相反:字节---------->对象 为反序列化 3 序列化的场...

  • java专题之序列化

    一、基本概念 1、什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列的过程,而Java反...

  • 序列化和反序列细节处理

    python 中pickle 和 json 都是序列化和反序列化的模块。 关于序列化和反序列化 序列化和反序列化[...

  • 对象的序列化与反序列化

    官方文档理解 要使类的成员变量可以序列化和反序列化,必须实现Serializable接口。任何可序列化类的子类都是...

  • Android序列化方式Serializable和Parcela

    前言 在介绍Serializable和Parcelable两种序列化方式之前,我们先来了解下什么是序列化,什么是反...

  • 二叉树序列化和反序列化

    二叉树序列化和反序列化 前序 序列化和反序列化

  • 总结

    java基础 Java中多态的理解 反射 Java序列化与反序列化 Volatile和Synchronized e...

  • JAVA反序列化漏洞

    目录 反序列化漏洞序列化和反序列化JAVA WEB中的序列化和反序列化对象序列化和反序列范例JAVA中执行系统命令...

  • 序列化和反序列化理解

    其实作为一名程序员,必须要知道序列化和 反序列化 的概念,因为它是在工作中非常常见的概念。 1. 什么是序列化?反...

网友评论

    本文标题:序列化和反序列化理解

    本文链接:https://www.haomeiwen.com/subject/lleggktx.html