FastJSON、Gson、Jackson和Json-lib性能测试
来源:互联网 发布:淘宝网中老年女装棉衣 编辑:程序博客网 时间:2024/06/05 06:31
前言
javaEE开发中,java对象转json字符串必然存在,而时下有关这些类库有很多,用的比较多阿里的fastJSON,jackson,google的gson好像真的太慢了,作如下关于序列化和反序列化的测试:
说明:本次测试并没有保存在磁盘上,只是做一个对象转换成字节序列。
准备
机器配置
- OS:Ubuntu 16.04 64位
- JVM:Oracle Corporation 1.8.0_101
- CPU:2.9 GHz Intel Core i5
- Cores (incl HT):8(2x4)
- RAM 8G
项目说明
- 管理工具 MAVEN
- IDE Intellij
依赖版本
- fastjson 1.2.6
- jackson 2.8.3
- gson 2.3.1
- json-lib 2.4
测试代码
/** * Author: 遇见小星 * Email: tengxing7452@163.com * Date: 17-6-28 * Time: 上午9:53 * Describe: 书实体 */public class Book implements Serializable{ private Integer id; private String name; private Double price; private boolean publish; private Date createDate;} /** * 序列化 */ public static void serialize(Object obj,long times){ //每次迭代为其分配地址 for (int i=0;i<times;i++){ String out = JSON.toJSONString(obj).toString(); } } /** * 反序列化 */ public static void deserialize(String str,long times){ for (int i=0;i<times;i++){ Book book = JSON.parseObject(str,Book.class); } }
具体代码移步:github
测试结果
从结果可以得知:fastjson和jackson差别并不是很大,只是在数据大于100w的反序列化的时候jackson比fastjson快了近40%,而后面的gson和json-lib就不说了。
说明:其实就笔者来说,fastjson和jackson都用过,不管测试的结果如何,都只是一个小的测试而已,真正开发的时候还的选用项目合适的,并不是谁快用谁的。
再次说明:由于笔者能力有限,测试所得数据可能存在误差,欢迎大家予以指正。
后记
- fastjson还是国人用的多,老外用的多的还是jackson(知乎上面知道的).
- Java序列化就是把对象转换成字节序列,而Java反序列化就是把字节序列还原成Java对象。
- 采用Java序列化与反序列化技术,一是可以实现数据的持久化,在MVC模式中很是有用;二是可以对象数据的远程通信
参考文章
- https://www.zhihu.com/question/44199956
- http://blog.csdn.net/accountwcx/article/details/50252657
- https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
- http://blog.csdn.net/wangloveall/article/details/7992448/
阅读全文
0 0
- FastJSON、Gson、Jackson和Json-lib性能测试
- java jackson fastjson gson json-lib
- FastJson、Gson、Jackson json解析性能比较
- json对象和java对象的相互转换方法(json-lib、jackson、fastjson、gson)
- Jackson、JSON-lib、Gson性能对比
- Jackson、JSON-lib、Gson性能对比
- Gson Jackson JSON-lib 性能比较
- Jackson、JSON-lib、Gson性能对比
- Gson,FastJson, Jackson测试
- FastJSON、Gson和Jackson性能对比
- FastJSON、Gson和Jackson性能对比
- FastJSON、Gson和Jackson性能对比
- FastJSON、Gson和Jackson性能对比
- FastJSON、Gson和Jackson性能对比
- FastJSON、Gson和Jackson性能对比
- FastJSON、Gson和Jackson性能对比
- 各种JSON比较(josn-lib,jackson,gson,fastjson)
- Gson、Jackson和FastJSON
- shell脚本运行的原理(source命令等)
- 新垃圾回收机制说明
- 棋盘覆盖问题-经典算法
- 如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?
- Java学习前,需要掌握的一些基础知识
- FastJSON、Gson、Jackson和Json-lib性能测试
- JS 和 a href className JS编写顺序与运行顺序 字符串或变量嵌入中括号 代替 点号 代表属性
- 数组解逆序对个数
- windows 使用signtool 给游戏安装包 进行离线签名
- 机器学习之numpy和matplotlib学习(一)
- nginx 配置跨域
- Dijkstra算法
- java.lang.String 类的所有方法
- Shell命令行之直接安装ipa文件