77百科网
当前位置: 首页 生活百科

序列化工具有哪些(序列化和反序列化工具)

时间:2023-08-15 作者: 小编 阅读量: 1 栏目名: 生活百科

缺点:1:JSON进行序列化的额外空间开销比较大,对于大数据量服务就意味着需要巨大的内存和磁盘开销2:JSON没有类型,但像Java这种强类型语言,需要通过反射统一解决,所以性能不会太好优点:1:简洁明了3:HessianHessian是动态类型、二进制、紧凑的,并且可跨语言移植的一种序列化框架。

序列化工具有哪些?网络传输的数据都必须是二进制数据,但是在Java中都是对象,是没有办法在网络中进行传输的,所以就需要对Java对象进行序列化,而且这个要求这个转换算法是可逆的,不然要是不可逆那鬼知道你传过来的是个什么东西,下面我们就来聊聊关于序列化工具有哪些?接下来我们就一起去了解一下吧!

序列化工具有哪些

1:为什么要序列化

网络传输的数据都必须是二进制数据,但是在Java中都是对象,是没有办法在网络中进行传输的,所以就需要对Java对象进行序列化,而且这个要求这个转换算法是可逆的,不然要是不可逆那鬼知道你传过来的是个什么东西

2:Java原生序列化

只要让类实现 Serializable 接口就行,序列化具体的实现是由ObjectOutputStream和ObjectInputStream来实现的

缺点:

  • 1:序列化码流太大
  • 2:序列化效率低
  • 3:无法跨语言

优点:

  • 1:简单

3:JSON序列化

JSON 可能是我们最熟悉的一种序列化格式了,JSON 是典型的 Key-Value 方式,没有数据类型,是一种文本型序列化框架,JSON 的具体格式和特性,网上相关的资料非常多,这里就不再介绍了。他在应用上还是很广泛的,无论是前台 Web 用 Ajax 调用、用磁盘存储文本类型的数据,还是基于 HTTP 协议的 RPC 框架通信,都会选择 JSON 格式。

缺点:

  • 1:JSON进行序列化的额外空间开销比较大,对于大数据量服务就意味着需要巨大的内存和磁盘开销
  • 2:JSON没有类型,但像Java这种强类型语言,需要通过反射统一解决,所以性能不会太好

优点:

  • 1:简洁明了

3:Hessian

Hessian 是动态类型、二进制、紧凑的,并且可跨语言移植的一种序列化框架。Hessian 协议要比 JDK、JSON 更加紧凑,性能上要比 JDK、JSON 序列化高效很多,而且生成的字节数也更小

Student student = new Student(); student.setNo(101);student.setName("HESSIAN"); //把student对象转化为byte数组ByteArrayOutputStream bos = new ByteArrayOutputStream(); Hessian2Output output = new Hessian2Output(bos); output.writeObject(student); output.flushBuffer(); byte[] data = bos.toByteArray(); bos.close(); //把刚才序列化出来的byte数组转化为student对象ByteArrayInputStream bis = new ByteArrayInputStream(data); Hessian2Input input = new Hessian2Input(bis); Student deStudent = (Student) input.readObject(); input.close(); System.out.println(deStudent);

缺点:

  • 1:官方版本对Java里面一些常见对象的类型不支持,
  • 比如LinkedHashMap、LinkedHashSet 等,但是可以通过扩展CollectionDeserializer 类修复,
  • Locale 类,可以通过扩展 ContextSerializerFactory 类修复;
  • Byte/Short 反序列化的时候变成 Integer

优点:

  • 1:相对于JDk,JSON,更加高效,生成的字节数更小
  • 2:有非常好的兼容性和稳定性

4:Protobuf

Protobuf 是 Google 公司内部的混合语言数据标准,是一种轻便、高效的结构化数据存储格式,可以用于结构化数据序列化,支持 Java、Python、C++、Go 等语言。Protobuf使用的时候需要定义 IDL(Interface description language),然后使用不同语言的 IDL编译器,生成序列化工具类

缺点:

  • 1:为了提高性能,protobuf采用了二进制格式进行编码。这直接导致了可读性差
  • 2:对于具有反射和动态语言来讲,用起来比较费劲

优点:

  • 1:高效
  • 2:支持多种语言
  • 3:支持向前,向后兼容

5:Thrift

Thrift是Facebook于2007年开发的跨语言的rpc服框架,提供多语言的编译功能,并提供多种服务器工作模式,用户通过Thrift的IDL(接口定义语言)来描述接口函数及数据类型,然后通过Thrift的编译环境生成各种语言类型的接口文件,用户可以根据自己的需要采用不同的语言开发客户端代码和服务器端代码。

缺点:

  • 1:没有官方文档
  • 2:Thrift序列化二进制不可读,调试困难
  • 3:buf fix 和更新不积极,维护成本过高
  • 4:RPC 在 0.6.1 升级到 0.7.0 是不兼容的

优点:

  • 1:特性丰富
  • 2:性能不错
  • 3:有很多开源项目的周边支持 都是 thrift

有志者、事竟成,破釜沉舟,百二秦关终属楚; 苦心人、天不负,卧薪尝胆,三千越甲可吞吴. 加油吧,致每个正在奋斗路上的你!!!

    推荐阅读
  • 爱剪辑可以剪辑音频吗 爱剪辑能只剪辑音频吗

    爱剪辑是可以剪辑音频的。方法如下:1、打开“爱剪辑”,设置一个片名,然后点击下方的”确定“。2、然后点击左下角的”添加视频“,在本地选择一个视频。3、之后找到音频面板,点击”添加音频“,可以选择”添加音效“和”添加背景音乐“。4、选择”添加背景音乐“,在本地选择一个音乐,然后点击”打开“。5、设置截取背景音乐的“开始时间”和“结束时间”,最后点击”确定“即可。

  • 高考完了什么时候查分报志愿(高考落幕多久查成绩)

    今日,北京、天津、浙江、海南、山东5省份将结束最后的高考考试科目,2020年全国高考将正式落下帷幕。教育部及各省(区、市)将会同有关部门根据举报线索第一时间核查处理,坚决维护高考公平公正。在地方层面,各地也将“冒名顶替”等行为列入今年的严打黑名单。

  • 格纹短袖西装穿搭(女神衣柜中的必备款)

    简约干练、精致有型、可盐可甜,但是,格纹也需要注意色彩的挑选,今天小编要和大家分享的是,四种最好穿的格纹西装。1/“深灰色系”格纹西装深灰色系的格纹西装拥有满满的高级感,同时超级衬肤色。内搭吊带展现十足小性感,欧美博主直接内搭文胸也别有看头。2/“深咖色系”格纹西装深咖色素也是格纹西装的首选色,同时也是对亚洲女性非常友好的色调。当然我也还可以内搭连衣裙,或者以格纹套装现身,得体又有型。

  • 英雄联盟信誉分太低怎么办(英雄联盟信誉分不够)

    英雄联盟作为一款经典的老牌竞技游戏,有很多小伙伴都在联盟中玩耍,但由于最近的服务器不稳定或自己电脑等诸多因素,可能导致我们没办法完成整局比赛,简单来说就是掉线或者挂机,从而系统检测到以上行为,就会扣掉我们的信誉分,当信誉分低于60时,我们是不能参加排位和匹配的,今天就和大家来说一说如何来快速增加我们信誉分。最后住所以撸啊撸的小伙伴都能上分愉快!

  • 红卤水做豆腐怎么做好吃(红卤水做豆腐如何做好吃)

    主料:黄豆500克辅料:盐卤8克,我来为大家讲解一下关于红卤水做豆腐怎么做好吃?红卤水做豆腐怎么做好吃主料:黄豆500克。干豆拣去杂质和不饱满的豆,用清水浸泡一夜,使之膨胀至完全泡发。准备清水适量;取半碗泡好的黄豆加入料理机中,再放入料理机桶高3分之二的水,打成豆浆。盐卤用4倍的水化开,等豆浆凉到80-90度左右时开始点卤。直到有出现豆花停止。模具加好盖子,上边放重物压20分钟左右,打开模具盖子脱模即可。

  • 迷你世界170倍爆率生存(迷你世界100倍爆率生存)

    我玩迷你世界,我会做100倍爆率生存,这不,我撸起我的小袖子,就开始制作地图,记住,一定要投稿,不然的话别人不容易看到,我还会彩字,这是要用触发器的,彩字不是用触发器做的哦,我来为大家科普一下关于迷你世界170倍爆率生存?下面希望有你要的答案,我们一起来看看吧!彩字前边加个#,这可必须得加,不然没用,我会彩字,还会闪字,还会……想学的关注我,我教你

  • excel表格中round是什么函数(EXCEL:ROUND函数和他的兄弟们)

    ROUND函数一个四舍五入函数,将数字四舍五入到指定的位数。他还有三个兄弟,分别是MROUND、ROUNDUP、ROUNDDOWN。MROUND函数是将数字四舍五入为指定的倍数ROUNDUP函数是将数字进行向上舍入(远离0)ROUNDDOWN函数是将数字进行向下舍入(接近0)语法ROUND数字不可省略。要进行四舍五入的位数。果第二个参数小于0,则向上舍入到小数点前位数。MROUND函数的使用数值与倍数的符号必须相同。如果不相同,则返回错误值#NUM。

  • 辅导班招生文案(关于辅导班招生文案)

    学在东华,行文天下东华:育英华,誉中华,我来为大家科普一下关于辅导班招生文案?懂”学道,“化”神奇学振东方,育兴华夏。东华,东方龙之骄子。德泽东方,勤育英华。东方之光,华夏未来。兴中华,学东华东方学苑,华夏娇子。东华辅导,效果挺好。求学奋发,选茂名东华。东阳极辅,华灼大成。东风化雨,含菁(英)咀华。

  • 三腊火锅的做法窍门(怎么做三腊火锅)

    接下来我们就一起去了解一下吧!三腊火锅的做法窍门准备熏制的腊猪尾巴、腊猪(牛)肝和溪口的烟熏油豆腐。将洗净煮熟的腊猪尾巴切成小段,腊猪(牛)肝切成薄片,连同烟熏油豆腐放入锅中,加姜片,山椒、花椒、胡椒和肉汤、佐料,煮沸后倒入火锅内再继续煮。再将浸胀的薯粉丝、碱灰耙、豆芽、豆腐油、香菜等用盘另装备用,客人可随吃随烫。