解决Fastjson2 oom(Out Of Memory),支持大对象(LargeObject 1G)json操作

news/2024/6/16 15:29:26

在使用Fastjson中的 JSON.toJSONString时,如果对象数据太大(>64M)会出现Out Of Memory,查看源码发现为JSONWriter中的判断代码

 其中maxArraySize默认最大为64M,如果超过了就会抛出oom错误

 如果fastjson过多的使用内存,也可能导致java堆内存溢出,所以这里建议控制好json对象大小,避免过多过大对象做json操作。

使默认的JSON操作支持到大对象(LargeObject 1G)

也可以使默认的JSON操作支持到大对象(1G),只需要配置好默认上下文对象(context.features)使用方法:

JSON.config(LargeObject, true);

加入到静态代码块或者程序入口,初始化函数等。但是这里要注意如果fastjson过多的使用内存,也可能导致java堆内存溢出。


http://lihuaxi.xjx100.cn/news/1459246.html

相关文章

10,遍历任意参

遍历可变参数 遍历可变参数获取可变参数大小通过递归方式遍历可变参数通过可变参数特性来求和 遍历可变参数 #pragma oncetemplate<class ... ParamTypes> void Func(paramTypes &... param) {}可以看作是有一个结构体里面装满了参数&#xff0c;把结构体放到…中。…

@Validated如何实现多层校验?

Validated多层校验&#xff0c;不去读文档&#xff0c;在往上东拼西凑&#xff0c;知道这么个东西挺好用。 但是如何去校验对象参数的属性就犯难了。 百度了一下— 是它&#xff0c;是它&#xff0c;就是它 ╮(&#xffe3;▽ &#xffe3;)╭ Valid request public class …

LeGO-Loam代码解析(二)--- Lego-LOAM的地面点分离、聚类、两步优化方法

1 地面点分离剔除方法 1.1 数学推导 LeGO-LOAM 中前端改进中很重要的一点就是充分利用了地面点,那首先自然是提取 对地面点的提取。 如上图,相邻的两个扫描线束的同一列打在地面上如 点所示,他们的垂直高度差 &#xff0c;水平距离差 &#xff0c;计算垂直高度差和水平高度差…

C++初阶语法——内部类

前言&#xff1a;内部类&#xff0c;顾名思义是定义在类中的类&#xff0c;许多人会以为它属于外部的类&#xff0c;实际上并不是&#xff0c;它们是两个独立的类&#xff0c;但是内部类受外部类类域的限制。 目录 一.概念二.特性1.内部类和外部类相互独立2.内部类是外部类的友…

【马蹄集】第二十三周——进位制专题

进位制专题 目录 MT2186 二进制&#xff1f;不同&#xff01;MT2187 excel的烦恼MT2188 单条件和MT2189 三进制计算机1MT2190 三进制计算机2 MT2186 二进制&#xff1f;不同&#xff01; 难度&#xff1a;黄金    时间限制&#xff1a;1秒    占用内存&#xff1a;128M 题目…

超强,超详细 Liunx常用命令!!

一、什么是Linux 多用户&#xff0c;多任务&#xff0c;支持多线程和多CPU的操作系统&#xff0c;linux的应用领域&#xff1a;免费&#xff0c;稳定&#xff0c;高效的&#xff0c; 一般运行在大型服务器上 二、Linux常用命令介绍 1.pwd命令 功能&#xff1a; 显示用户当前所…

如何在HTML中使用React

突发奇想 查了查真的可以,官方文档: 在网站中添加 React – React 开始 引入js <!-- 开发环境使用 --><script src"https://unpkg.com/react18/umd/react.development.js"></script><script src"https://unpkg.com/react-dom18/umd/reac…

catboost推理开GPU加速

核心设置 model.predict(feature, task_type‘GPU’) 代码参考 # 训练配置 params {"catboost": {"n_estimators": 7000,"learning_rate": 0.03,"eval_metric": "AUC","loss_function": "RMSE",&qu…