• Java常用Json库性能对比


    Java对于处理JSON数据的序列化与反序列化目前常用的类库有Gson、FastJSON、Jackson、jettison以及json-lib。在这里我们将对这些类库在json序列化与反序列化方面的性能进行测试对比。

    测试环境如下:

    电脑:cpu为I3-4160,Win7 64位系统

    编译环境:jdk1.8.0_65,Myeclipse2014

    各类库版本:gson-2.6.2、fastjson-1.2.8、jackson -2.7.2、jettison-1.3.7(2014年后无更新)、json-lib-2.4(2012年后停止更新)

    序列化的简单对象:

    publicclass User {

        intid;

        String name;

        intage;

        String address;

        //get、set

    }

     

    测试结果

     

    序列化测试结果(Object->String),耗时单位均为ms

    测试次数

    类库

    100

    1K

    1W

    10W

    50W

    100W

    1000W

    gson

    8

    25

    63

    230

    680

    1100

    7790

    fastjson

    85

    100

    155

    200

    270

    350

    1850

    jackson

    35

    48

    80

    150

    255

    360

    2400

    Json-lib

    75

    130

    280

    910

    2725

    4900

    42500

    jettison

    70

    85

    110

    210

    400

    590

    4000

     

     

    反序列化测试结果(String->Object),耗时单位均为ms

    测试次数

    类库

    100

    1K

    1W

    10W

    50W

    100W

    1000W

    gson

    9

    21

    60

    195

    570

    950

    7760

    fastjson

    85

    105

    150

    225

    370

    545

    3800

    jackson

    36

    50

    110

    210

    380

    570

    4460

    Json-lib

    86

    185

    405

    1180

    2950

    4850

    38300

    jettison

    6

    20

    50

    230

    460

    710

    4650

     

     

    测试总结:

    1、从测试结果可以看出gson在小于10w的数据量处理上,耗时相对较少,但是在数据越来越大的情况下耗时会明显的增长。

    2无论那种情况下,json-lib的耗时都是最多的,引用时还需要额外几个依赖包,且目前已经停止了更新,所以不推荐使用。

    3、jackson在各阶段数据量都有很不错的性能,而fastjson在数据量较多的情况下也有很好性能。

    4、jettison性能不错,但只提供json和其JSONObject对象相互转化的方法,转为自定义bean时需要再手动将JSONObject对象转为需要的bean。

  • 相关阅读:
    使用element-ui是下拉筛选选择
    vue 组件传值
    vue element 地址联动的使用
    vux scroller
    实时监听组件中路由的变化
    vuex的使用
    对移动端滚动高度的获取
    【转】ACM 取石子问题
    【转】ACM博弈知识汇总
    EOJ 2857 编辑距离
  • 原文地址:https://www.cnblogs.com/aurain/p/6734873.html
Copyright © 2020-2023  润新知