java-json解析包对比
sbjw1234关注赞赏支持java-json解析包对比
现在我们要来看看性能了,测试硬件配置:Intel Core i5 laptop with 2.50GHz 单通道DDR3 RAM 4G,软件配置:Windows 7 Ultimate 64-bit SP1
基准测试运行一样的虚拟机(JVM),在测试之前,每一个类库都有一个热身,去限制内存使用的造成的影响,用一个显式调用垃圾收集器。下面的图表代表的是序列化和反序列化JSON数据以毫秒级使用50次迭代和10次热身(warm-up)迭代的平均的时间。
(译者注:红色为序列化(Java对象转JSON),蓝色为反序列化(JSON转Java对象))
上面的图表显示,Flexjson序列化小数据时是最快的,而JSON-lib是最慢的。反序列化的时候,Gson最快,JSON-lib还是最慢的。
下面的图表代表的是我们的数据在287kb时,序列化和反序列化所花费的平均时间。
这张图显示,我们对少量的数据操作时,最快的是Gson ,之后的是 Genson和Flexjson。
当变成大数据时,结果变得很不一样。在下面的图表中,使用的是108Mb的数据,在序列化的时候,Jackson变成了最快的,Flexjson变成第二快。在反序列化的时候,JSON-lib变成了最快的,之前在处理小数据时,它是最慢的,第二快的是Jackson。
下面的图表,显示的是处理更大一点的数据时,我们应该使用Jackson和JSON-lib。
另外一个重要的测试是关于.jar包的大小。这对于移动端的开发很重要,我们从下图中看到,json-io最小,之后依次是Flexjson和JSONiJ:
(三)结论
在这篇文章中,我们知道了七种方式来实现Java对象和JSON之间的互相转换。以及哪一个类库更快,哪一个更慢,在什么情况下使用等。作为结论,如果你在你的应用中是想使用小一点的数据量,你应该使用Flexjson或者Gson,如果你需要大的数据量你应该考虑Jackson 和JSON-lib。
文章来源:www.open-open.com/lib/view/op…
推荐阅读更多精彩内容
- JSON的学习与使用 公众号:小李不秃,Java 原创博主阅读本文大概需要 7.8 分钟 前言 我们在进行软件开发的过程中,服务与服务之... 小李不秃阅读 23评论 0 赞 1
- Java几种常用JSON库性能比较 本文通过JMH(即Java Microbenchmark Harness,基于方法层面的基准测试,精度可以达到微秒... JourWon阅读 213评论 0 赞 3
- Gson、FastJson、Jackson、json-lib对比总结 一 、各个JSON技术的简介和优劣 json-lib json-lib最开始的也是应用最广泛的json解析工具,j... a_simple_coder阅读 719评论 0 赞 2
- Java 几种常用 JSON 库性能比较 本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。每次都在网上看到别人说什么某某库性能是如何如何的... 带着二娃去遛弯阅读 107评论 0 赞 0
- 除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器? 昨天下午 5 点 10 分左右,我解决掉了最后一个 bug,轻舒一口气,准备关机下班。可这个时候,老板朝我走来,脸... 沉默王二阅读 230评论 0 赞 11