
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习Java编程开发语言,而序列化技术的应用是Java编程中经常会用到的一个编程技术,下面我们就通过案例分析来简单了解一下,Java编程序列化技术优劣分析。
1、序列化
所谓的序列化,就是把一个对象,转化为某种特定的形式,然后以数据流的方式传输。
比如把一个对象直接转化为二进制数据流进行传输。当然这个对象可以转化为其他形式之后再转化为数据流。
比如XML、JSON等格式。它们通过另外一种数据格式表达了一个对象的状态,然后再把这些数据转化为二进制数据流进行网络传输。
2、反序列化
反序列化是序列化的逆向过程,把字节数组反序列化为对象,把字节序列恢复为对象的过程成为对象的反序列化
3、序列化的高阶认识
前面的代码中演示了,如何通过JDK提供了Java对象的序列化方式实现对象序列化传输,主要通过输出流java.io.ObjectOutputStream和对象输入流java.io.ObjectInputStream来实现。
4、常见的序列化技术及优劣分析
随着分布式架构、微服务架构的普及。服务与服务之间的通信成了基本的需求。这个时候,我们不仅需要考虑通信的性能,也需要考虑到语言多元化问题
所以,对于序列化来说,如何去提升序列化性能以及解决跨语言问题,就成了一个重点考虑的问题。
由于Java本身提供的序列化机制存在两个问题
序列化的数据比较大,传输效率低
其他语言无法识别和对接
以至于在后来的很长一段时间,基于XML格式编码的对象序列化机制成为了主流,一方面解决了多语言兼容问题,另一方面比二进制的序列化方式更容易理解。
以至于基于XML的SOAP协议及对应的WebService框架在很长一段时间内成为各个主流开发语言的必备的技术。
再到后来,基于JSON的简单文本格式编码的HTTPREST接口又基本上取代了复杂的WebService接口,成为分布式架构中远程通信的要选择。
但是JSON序列化存储占用的空间大、性能低等问题,同时移动客户端应用需要更高效的传输数据来提升用户体验。在这种情况下与语言无关并且高效的二进制编码协议就成为了大家追求的热点技术之一。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。