当前位置: 首页 > article >正文

JSON.parseArray 内存溢出

实际上我的JSON如下:

如果用以下代码:JVM的内存直接飙到内存溢出,报错OutOfMemoryError: Java heap space

Object oo = JSON.parseArray(json, TestVo.class)

如果我换成了这样,就没事:

Object oo = JSON.parseObject(json, List.class)

看了一下源码发现是这一段出了问题:

因为 this.itemObjectReader != null,所以一直没有执行jsonReader.readString(),导致while无限循环直到内存溢出。

解决方式:换了一个写法

List<Object> oo = JSON.parseObject(json, List.class) ;
List<TestVo> vos=new ArrayList<>();
for (Object obj:oo){
     TestVo ee= JSON.parseObject( JSON.toJSONString(obj),TestVo.class);
     vos.add(ee);
}


http://www.kler.cn/news/310644.html

相关文章:

  • 【第十一章:Sentosa_DSML社区版-机器学习分类】
  • Oracle数据库高级技术探秘:分区表管理与代码实战
  • Python 全栈系列271 微服务踩坑记
  • 数据库学习02——mysql清空表数据后 IBD 文件仍很大的解决方案
  • 面向开发者的LLM入门教程(学习笔记01)
  • 探索学习Python的最佳开发环境和编辑器
  • 家用燃气报警器-家庭可燃气体探测器-旭华智能
  • 【网络安全】服务基础第二阶段——第四节:Linux系统管理基础----Linux网络与日志服务器
  • Docker 镜像制作(Dockerfile)
  • 为解决bypy大文件上传报错—获取百度云文件直链并使用Aria2上传文件至服务器
  • Mini-Omni:语言模型可以在流中听、说和思考
  • Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
  • Spring boot aop集成(面向切面的编程)
  • TMStarget学习——T1 Segmentation数据处理及解bug
  • js进阶-作用域是什么
  • idear导入他人项目如何快速运行
  • 【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)
  • 环境搭建2(游戏逆向)
  • 深入解析:ECMAScript与JavaScript的区别与联系
  • 江科大笔记—OLED显示屏
  • golang的sync包浅析
  • ARM驱动学习之 IOremap实现GPIO 读
  • 安卓13去掉下拉菜单的Dump SysUI 堆的选项 android13删除Dump SysUI 堆
  • react hooks--概述
  • Linux从入门到开发实战(C/C++)Day12-ICMP协议
  • linux-软件包管理-编译与安装源码包
  • 人工智能-GPU版本机器学习、深度学习模型安装
  • swc 编译 es6为commonjs
  • 「数组」堆排序 / 大根堆优化(C++)
  • 双端队列double-ended queue