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

相关推荐
毅炼几秒前
hot100打卡——day09
java·leetcode
chilavert3186 分钟前
技术演进中的开发沉思-317 JVM:指令集(下)
开发语言·python
不绝19126 分钟前
C#核心——面向对象:封装
开发语言·javascript·c#
没有bug.的程序员30 分钟前
HashMap 源码深度剖析:红黑树转换机制与高并发性能陷阱
java·性能优化·并发编程·源码分析·红黑树·hashmap·技术深度
yaoxin52112340 分钟前
294. Java Stream API - 对流进行归约
java·开发语言
ghie909040 分钟前
基于MATLAB的演化博弈仿真实现
开发语言·matlab
曹轲恒41 分钟前
Thread.sleep() 方法详解
java·开发语言
aini_lovee43 分钟前
基于Qt实现CAN通信上位机
开发语言·qt
Coder_Boy_43 分钟前
基于SpringAI的在线考试系统-考试模块前端页面交互设计及优化
java·数据库·人工智能·spring boot
小小仙。1 小时前
IT自学第十九天
java·开发语言