美文网首页
序列化和反序列化的概念

序列化和反序列化的概念

作者: 林祖朋 | 来源:发表于2018-05-03 16:48 被阅读23次

序列化:把对象转换为字节序列的过程称为对象的序列化。
反序列化:把字节序列恢复为对象的过程称为对象的反序列化。

静态成员变量属于类不属于对象,所以不参与序列化过程 .

Serializable接口是Java提供的一个序列化接口,它是一个空接口,为对象提供标准的序列化和反序列化操作。使用Serializable来实现的对象的序列化相当简单,只需要在类的生命中指定一个类似相面的标识即可自动实现默认的序列化过程。

private static final long serialVersionUID=871238749032;

serialVersionUID的详细工作过程是这样的:
序列化的时候系统会把当前类的serialVersionUID写入序列化的二进制文件中,当反序列化的时候系统会检测文件中的serialVersionUID是否和当前类的serialVersionUID一致,如果一致就说明序列化的类的版本和当前类的版本是相同的,这个时候可以成功反序列化;否则说明当前类和反序列化的类相比发生了某些变化,比如成员变量的数量、类型发生了变化,这个时候是无法正常反序列化的。

Parcelable接口是Android SDK提供的一种专门用于Android应用中对象的序列化和反序列化的方式,相比于Seriablizable具有更好的性能。实现Parcelable接口的对象就可以实现序列化并可以通过Intent和Binder传递。

二者区别:
Seriablizable属于java api,序列化和反序列化需要大量的i/o操作,开销大,效率低
适用场景:序列化到本地或者网络传输。
Parcelable属于Android SDK api,序列化和反序列化不需要大量的i/o操作,开销小,效率高
适用场景:序列化到内存。

相关文章

  • 序列化和反序列化理解

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

  • java专题之序列化

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

  • JDK 序列化

    序列化和分序列化概念 什么是序列化和反序列化 Java序列化是指把Java对象转换为字节序列的过程,而Java反序...

  • Android中的序列化和反序列化

    概念 正式的:序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反...

  • 20170929- 对象的序列化和反序列化

    一、序列化和反序列化的概念 对象的序列化 —— 把对象转换为字节序列的过程。 对象的反序列化—— 把...

  • 序列化与反序列化

    Java基础学习总结——Java对象的序列化和反序列化 一、序列化和反序列化的概念 把对象转换为字节序列的过程称为...

  • 容易理解的技术文章

    serializable Java 之 Serializable 序列化和反序列化的概念 static stati...

  • 序列化与反序列化

    1 序列化和反序列化的概念 序列化:把对象转换为字节序列的过程称为对象的序列化。 反序列化:把字节序列恢复为对象的...

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

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

  • 什么是序列化?常见的序列化协议有哪些?

    序列化和反序列化相关概念 什么是序列化?什么是反序列化? 如果我们需要持久化 Java 对象比如将 Java 对象...

网友评论

      本文标题:序列化和反序列化的概念

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