解决大对象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去实现的

相关推荐
小蒜学长6 小时前
基于Java的公司采购系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·公司采购系统
lee_tianbai6 小时前
Java SSM 电影票预定系统|完整前后端项目,开箱即用(源码分享)
java·开发语言·数据库
小坏讲微服务6 小时前
Spring Boot 4 新特性全解析:从上手到生产实战
java·spring boot·后端·架构·springboot4
砚底藏山河6 小时前
python量化入门:多周期数据对齐统一时间轴
java·数据库·python·金融·maven
集智飞行7 小时前
解决mavros2 ros2版本cpu占用高的问题
java·服务器·前端
迪丽热爱7 小时前
一、C语言概述与程序结构
c语言·开发语言·算法
HUIBUR科技7 小时前
AI中枢:打破数据孤岛与流程孤岛双重困境
开发语言·ai
鱼宵7 小时前
LangChain4j 结构化输出:让模型吐出 Java 对象,JSON 不再手写解析
java·开发语言·json·langchain4j
w2sfot8 小时前
【JS加密在线】jsjiami.online(让JavaScript 更安全!)
开发语言·javascript·安全