很早就听说过序列化(序列化的原本意图是希望对一个Java对象作一下“变换”,变成字节序列)了,也知道要实现序列化必须要实现的接口:
-
Serializable
-
Externalizable
上面两个接口只实现一个就够了。
但,为什么要序列化呢?这个问题困扰我很久,当初也搜了很多,但都没有解释清楚的,今天知乎给我推了一篇文章,看完觉的豁然开朗。
我用我的语言总结归纳一下
-
用来做对象的持久化,序列化后对象的文件可以长久保存在磁盘上
-
用来跨平台通信,发送方序列化后,接收方可以用任何其支持的平台反序列化成相应的版本,比如 Java序列化后, 用.net、phython等反序列化
-
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.
-
服务端把数据序列化,发送到客户端,客户端把接收到的数据反序列化后对数据进行操作,完成后再序列化发送到服务端,服务端再反序列化数据后对数据进行操作。
-
如果在进程内通信,也可以做到更高的安全性,对象不再通过调用栈交互,而是通过代理或通道。
标签:知乎,Java,对象,什么,序列化,数据,服务端 来源: https://www.cnblogs.com/pengfuhao/p/15216749.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。