**什么是序列化**

Posted xiaoqingfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了**什么是序列化**相关的知识,希望对你有一定的参考价值。

很早就听说过序列化(序列化的原本意图是希望对一个Java对象作一下“变换”,变成字节序列)了,也知道要实现序列化必须要实现的接口:

  • Serializable

  • Externalizable

上面两个接口只实现一个就够了。

但,为什么要序列化呢?这个问题困扰我很久,当初也搜了很多,但都没有解释清楚的,今天知乎给我推了一篇文章,看完觉的豁然开朗。

我用我的语言总结归纳一下

  1. 用来做对象的持久化,序列化后对象的文件可以长久保存在磁盘上

  2. 用来跨平台通信,发送方序列化后,接收方可以用任何其支持的平台反序列化成相应的版本,比如 Java序列化后, 用.net、phython等反序列化

  3. 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.

  4. 服务端把数据序列化,发送到客户端,客户端把接收到的数据反序列化后对数据进行操作,完成后再序列化发送到服务端,服务端再反序列化数据后对数据进行操作。

  5. 如果在进程内通信,也可以做到更高的安全性,对象不再通过调用栈交互,而是通过代理或通道。

     

     


    为什么需要序列化阿肯那顿的博客-CSDN博客为什么要序列化

    Java序列化有什么作用?序列化与不序列化有什么区别? - 知乎 (zhihu.com)

以上是关于**什么是序列化**的主要内容,如果未能解决你的问题,请参考以下文章

什么是序列化? 如何实现(反)序列化 序列化的应用

什么是序列化? 如何实现(反)序列化 序列化的应用

什么是序列化?为什么要序列化?

什么是序列化?如何实现序列化?

什么是序列化,在java中如何实现序列化?

什么是序列化,为什么要序列化