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

相关推荐
程序猿编码几秒前
用 C++ 玩转字符级 Transformer 语言模型:从原理到实现
开发语言·c++·深度学习·语言模型·transformer
古城小栈几秒前
Go语言 赋能 区块链 开发
开发语言·golang·区块链
coderxiaohan2 分钟前
【C++】AVL树实现
开发语言·c++
架构师专栏3 分钟前
Spring Boot 4 整合46篇教程,Spring Boot 4 企业级项目开发完整实践指南
java·spring boot·后端
专注VB编程开发20年3 分钟前
Activex dll创建调用-Python,Node.js, JAVA主流编程语言操作COM对象
java·开发语言·python·node.js·activex dll
权泽谦6 分钟前
用大语言模型实现一个离线翻译小程序(无网络也能用)
开发语言·人工智能·语言模型·小程序·php
小生凡一9 分钟前
图解|Go的GMP在计算密集型和IO密集型的区别
开发语言·golang
代码or搬砖1 小时前
公共字段抽取自动填充
android·java·数据库
共享家95271 小时前
Qt 实战-Music 播放器
开发语言·qt
上不如老下不如小1 小时前
2025年第七届全国高校计算机能力挑战赛 决赛 Python组 编程题汇总
开发语言·python