程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring Boot - 无法完成请求 java.lang.OutOfMemoryError: Java heap space 的处理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spring Boot - 无法完成请求 java.lang.outOfMemoryError: Java heap space 的处理?

开发过程中遇到Spring Boot - 无法完成请求 java.lang.outOfMemoryError: Java heap space 的处理的问题如何解决?下面主要结合日常开发的经验,给出你关于Spring Boot - 无法完成请求 java.lang.outOfMemoryError: Java heap space 的处理的解决方法建议,希望对你解决Spring Boot - 无法完成请求 java.lang.outOfMemoryError: Java heap space 的处理有所启发或帮助;

更新 java 依赖项后,当我通过 post 上传 1 个以上的文件时,我面临 OutOfMemoryError。 该项目是一个简单的 Java SpringBoot 服务器,我需要发送 CSV 文件(~10/15 MB)。 服务器的错误是:

ERROR [serialparts-tecdoc-service,] 43717 --- [nio-9095-exec-2] o.a.coyote.http11.http11NioProtocol      : Failed to complete processing of a request

java.lang.outOfMemoryError: Java heap space
    at java.base/java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:64) ~[na:na]
    at java.base/java.nio.byteBuffer.allocate(ByteBuffer.java:361) ~[na:na]
    at org.apache.coyote.http11.http11OutputBuffer.<init>(http11OutputBuffer.java:110) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
    at org.apache.coyote.http11.http11Processor.<init>(http11Processor.java:163) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
    at org.apache.coyote.http11.Abstracthttp11Protocol.createProcessor(Abstracthttp11Protocol.java:1089) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:878) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
    at org.apache.tomcat.util.net.socketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[na:na]
    at org.apache.tomcat.util.threads.TaskThread$WrapPingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.44.jar:9.0.44]
    at java.base/java.lang.Thread.run(Thread.java:832) ~[na:na]

这是我项目的依赖列表:

<dependencIEs>
<dependency>
    <groupID>org.springframework.boot</groupID>
    <artifactID>spring-boot-starter-actuator</artifactID>
</dependency>
<dependency>
    <groupID>org.springframework.boot</groupID>
    <artifactID>spring-boot-starter-web</artifactID>
</dependency>
<dependency>
    <groupID>org.springframework.cloud</groupID>
    <artifactID>spring-cloud-starter-config</artifactID>
</dependency>

<dependency>
    <groupID>org.springframework.boot</groupID>
    <artifactID>spring-boot-devtools</artifactID>
    <scope>runtime</scope>
    <optional>true</optional>
</dependency>
<dependency>
    <groupID>org.springframework.boot</groupID>
    <artifactID>spring-boot-starter-test</artifactID>
    <scope>test</scope>
</dependency>
<dependency>
    <groupID>org.springframework.boot</groupID>
    <artifactID>spring-boot-configuration-processor</artifactID>
    <optional>true</optional>
</dependency>
<!-- <dependency>
    <groupID>org.springframework.cloud</groupID>
    <artifactID>spring-cloud-starter-netflix-eureka-clIEnt</artifactID>
</dependency> -->
<dependency>
    <groupID>org.springframework.cloud</groupID>
    <artifactID>spring-cloud-sleuth-zipkin</artifactID>
</dependency>
<dependency>
    <groupID>org.springframework.cloud</groupID>
    <artifactID>spring-cloud-starter-sleuth</artifactID>
</dependency>
<dependency>
    <groupID>org.springframework.cloud</groupID>
    <artifactID>spring-cloud-starter-bus-amqp</artifactID>
</dependency>

<dependency>
    <groupID>org.Json</groupID>
    <artifactID>Json</artifactID>
    <version>20200518</version>
</dependency>
<dependency>
    <groupID>org.apache.commons</groupID>
    <artifactID>commons-lang3</artifactID>
</dependency>
<dependency>
    <groupID>org.apache.commons</groupID>
    <artifactID>commons-csv</artifactID>
    <version>1.8</version>
</dependency>
<dependency>
    <groupID>MysqL</groupID>
    <artifactID>mysql-connector-java</artifactID>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupID>org.springframework.boot</groupID>
    <artifactID>spring-boot-starter-data-jpa</artifactID>
</dependency>

<dependency>
    <groupID>org.springframework.cloud</groupID>
    <artifactID>spring-cloud-starter-netflix-hyStrix</artifactID>
</dependency>
<dependency>
    <groupID>org.springframework.cloud</groupID>
    <artifactID>spring-cloud-starter-openfeign</artifactID>
</dependency>
<dependency>
    <groupID>org.apache.httpcomponents</groupID>
    <artifactID>httpclIEnt</artifactID>
</dependency>
</dependencIEs>

我没有更改代码,但我更新了依赖项。 我想告诉你错误不是在很多时间之后,而是在我上传的第一个文件期间。

非常感谢您的帮助

解决方法

首先检查内存泄漏为 here

另一种选择是给你的程序更大的堆内存大小

JVM 的,使用 maven-surefire-plugin

<configuration>
  <argLine> -Xmx1024m </argLine>
</configuration>

但我再说一遍,检查您的应用程序是否存在内存泄漏。

如果您的程序需要更多内存,请尝试此操作。祝你好运:)

大佬总结

以上是大佬教程为你收集整理的Spring Boot - 无法完成请求 java.lang.OutOfMemoryError: Java heap space 的处理全部内容,希望文章能够帮你解决Spring Boot - 无法完成请求 java.lang.OutOfMemoryError: Java heap space 的处理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。