解决大对象toString导致的OOM fastJson中的toString发生OOM异常

项目场景:

在项目中,如果碰到大对象(一般指100M)以上的对象,用不管fastjson还是fastjson2中的toString都会可能导致OOM的存在,所有对大对象而言,可以使用以下的工具类


依赖和代码

java 复制代码
<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.0</version>
</dependency>
java 复制代码
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.json.JsonMapper;

public class BigObjToStrUtil {
    public static String bigObjToStr(Object obj) {
        JsonMapper jsonMapper = JsonMapper.builder()
                .build();
        String res = null;
        try {
            res = jsonMapper.writer()
                    .writeValueAsString(obj);
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }
        return res;
    }
}

原理:

就是利用的jsonMapper去实现的

相关推荐
其实防守也摸鱼3 小时前
Kimi K3深度测评:长文本之外的真实力
运维·开发语言·网络·人工智能·python·学习·安全
weixin_BYSJ19873 小时前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
梦幻通灵4 小时前
Java中finally失效的几种情况【持续更新】
java·开发语言
月落归舟4 小时前
SpringMVC 多种响应返回方式
java·开发语言
吃饱了得干活4 小时前
JVM垃圾回收:从新生代到ZGC,从理论到调优
java·jvm·后端
长不胖的路人甲4 小时前
二叉排序树(BST)Java 完整实现 + 删除思路详解
java·开发语言·算法
geovindu4 小时前
python: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·python·算法·搜索算法
大模型码小白4 小时前
Java 部署:Jenkins Pipeline 构建 Java 项目(自动化)
java·人工智能·python·机器学习
长不胖的路人甲4 小时前
可达性分析法(根搜索算法)完整详解
java·jvm·算法
笨笨饿4 小时前
#102_Codex无在VSCold无法打开
java·c语言·数据库·笔记