概述

fastjson2
FastJson2是FastJson项目的重要升级,目标是为下一个十年提供一个高性能的JSON库。根据官方给出的性能来看,相比v1版本,确实有了很大的提升,本篇文章我们来看下究竟做了哪些事情,使得性能有了大幅度的提升。
本篇将采用代码测试 + 源码阅读的方式对FastJson2的性能提升做一个较为全面的探索。

使用测试

1.引入依赖

<dependency>

<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.8</version>

</dependency>
在fastjson2当中,jsonArray.toJavaList方法转变成了jsonArray.toList。

常用方法

// 将字符串解析成JSONObject
static JSONObject parseObject(String str);

// 将字符串解析成JSONArray
static JSONArray parseArray(String str);

// 将字符串解析成Java对象
static T parseObject(byte[] utf8Bytes, Class<T> objectClass);

// 将Java对象输出成字符串
static String toJSONString(Object object);

// 将Java对象输出成UT8编码的byte[]
static byte[] toJSONBytes(Object object);

测试情况

fastjson2相比fastjson确实是有性能提升,但是取决于堆内存的大小。
堆空间小的情况下,fastjson的性能表现优于fastjson2。
在适当的情况先,对jvm进行调优,是对应用程序的性能有影响的
我们需要知道,堆空间并非越大越好,空间越大代表着GC处理时间会越长,其表现为应用响应时间的增加。

标签: fastjson2


阿里云优惠主机

添加新评论

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。