Java教程

**什么是序列化**

本文主要是介绍**什么是序列化**,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

  • Serializable

  • Externalizable

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

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

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

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

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

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

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

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

     

     


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

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

这篇关于**什么是序列化**的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!