SpringBoot上传超大文件导致OOM,完美解决办法

news/2024/11/14 15:12:09/

问题描述

上传大文件报错: 

Caused by: java.lang.OutOfMemoryError
    at java.io.ByteArrayOutputStream.hugeCapacity(ByteArrayOutputStream.java:123) ~[?:1.8.0_381]
    at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:117) ~[?:1.8.0_381]
    at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) ~[?:1.8.0_381]
    at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153) ~[?:1.8.0_381]
    at org.springframework.util.StreamUtils.copy(StreamUtils.java:167) ~[spring-core-5.3.29.jar:5.3.29]
    at org.springframework.util.FileCopyUtils.copy(FileCopyUtils.java:112) ~[spring-core-5.3.29.jar:5.3.29]
    at org.springframework.util.FileCopyUtils.copyToByteArray(FileCopyUtils.java:152) ~[spring-core-5.3.29.jar:5.3.29]
    at org.sp


http://www.ppmy.cn/news/1501955.html

相关文章

网络安全相关竞赛比赛

赛事日历(包含全国所有网络安全竞赛) https://datacon.qianxin.com/competition/competitions https://www.ichunqiu.com/competition/all 全国网络安全竞赛 名称链接全国大学生信息安全竞赛http://www.ciscn.cn/信息安全与对抗技术竞赛(In…

【面试题】测试工程师面试题汇总

1.测试基础 【测试基础】归纳整理2023年面试题-CSDN博客 2.性能测试 【性能测试】归纳整理2023年面试题 3.Python语言 【python】归纳整理2023年常见面试题 4.自动化 https://blog.csdn.net/weixin_46697247/article/details/133493163 5.测试用例 https://blog.csdn.…

Python进阶和高阶学习(持续更新)

Python 面向对象 创建类 # Python面向对象 # 创建类 # 使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾: # class ClassName: # 类的帮助信息 #类文档字符串 # class_suite #类体 class Employee:所有员工的基类# 类变量empCount 0# 构…

axure制作切换栏--动态面板的应用

先看下效果:点击上面的切换栏 切换到西游记栏目: 切换到水浒传栏目: 上述两个图片比对可以发现,在点击切换栏的时候,里面的内容以及切换栏的下面蓝色横线也会发生对应的变化。这里涉及到两个地方的变化,就…

学习笔记 韩顺平 零基础30天学会Java(2024.7.24)

P416 匿名内部类本质 IA tiger new IA(){//IA是一个接口 //重写 System.out.println(“老虎叫唤。。。”); } P417 匿名内部类使用 基于类的匿名内部类 Father father new father(“jack”){};//不带大括号运行类型是Father,带大括号就是匿名内部类,相当于是匿名…

Laravel自定义辅助函数:提升开发效率的秘诀

Laravel自定义辅助函数:提升开发效率的秘诀 在Laravel框架中,辅助函数(Helpers)是一组用于简化日常编程任务的轻量级工具。它们帮助开发者以更少的代码完成更多的工作。虽然Laravel已经提供了丰富的内置辅助函数,但在…

C++ std::vector及使用时的常见优化策略

std::vector 是 C 标准模板库&#xff08;STL&#xff09;中的一个动态数组容器。它提供了动态大小调整和高效的随机访问功能&#xff0c;非常适合需要频繁插入、删除和访问元素的场景。std::vector 是在 <vector> 头文件中定义的&#xff0c;并且位于 std 命名空间中。 …

C++设计模式PIMPL模式

Pimpl是“Pointer to implementation”的缩写&#xff0c;它是一种常用的C设计模式。这种模式的核心思想是将类的实现细节从其接口中分离出来。想象一下&#xff0c;我们生活的世界中充满了这种分离&#xff1a;我们不需要知道电视是如何工作的&#xff0c;只需要知道如何使用遥…