小任班长的博客 - fastjson2
type: channel
link: https://cnxiaocheng.top/tag/fastjson2/
items: 引领下一个十年的高性能JSON库fastjson2登场了 再战未来

引领下一个十年的高性能JSON库fastjson2登场了 再战未来
type: item
date: 2022-07-07T09:00:00+08:00
description: 概述FastJson2是FastJson项目的重要升级，目标是为下一个十年提供一个高性能的JSON库。根据官方给出的性能来看，相比v1版本，确实有了很大的提升，本篇文章我们来看下究竟做了哪些事情，使得性能有了大幅度的提升。本篇将采用代码测试 + 源码阅读的方式对FastJson2的性能提升做一个较为全面的探索。使用测试1.引入依赖 com.alibaba.fastjson2 fastjson2 2.0.8 在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处理时间会越长，其表现为应用响应时间的增加。