idea报错:There is not enough memory to perform the requested operation.

文章目录

一、问题描述

就是在使用 IDEA 写代码时,IDEA 可能会弹一个窗,大概提示你目前使用的 IDEA 内存不足,其实就是提醒你 JVM 的内存不够了,需要重新分配。弹窗如下:

也就是报错:There is not enough memory to perform the requested operation. Please increase 'Xmx' setting and restart the IDE for change to take effect.

(没有足够的内存来执行请求的操作。请增加 "Xmx" 设置并重新启动 IDE以使更改生效)

二、先解决

先解决问题,再分析原因

1、点击弹窗中 Continue,

2、点击 idea 中 Help ---- Edit Custom VM Options...

3、把 XmsXmxXX:ReservedCodeCacheSize 都进行增加,然后重启。(假如加少不行,那就多增加点)

比如:我修改后为:

-Xms512m
-Xmx6096m
-XX:ReservedCodeCacheSize=2048m

-XX:+UseG1GC

-XX:SoftRefLRUPolicyMSPerMB=50

-XX:CICompilerCount=2

-XX:+HeapDumpOnOutOfMemoryError

-XX:-OmitStackTraceInFastThrow

-ea

-Dsun.io.useCanonCaches=false

-Djdk.http.auth.tunneling.disabledSchemes=""

-Djdk.attach.allowAttachSelf=true

-Djdk.module.illegalAccess.silent=true

-Dkotlinx.coroutines.debug=off

4、操作完成后清理缓存重启 IDEA 即可:

三、后原因(了解)

IDEA 使用缓存来加速项目的加载和构建过程,以提高整体性能。缓存文件包括但不限于以下内容:

  • 索引文件: IDEA 会构建项目索引,用于提供快速的代码导航、查找引用和代码补全。索引包含类、方法、变量等的信息。
  • 编译缓存: IDEA 可能会缓存已编译的 java 文件,以避免重复的解析和分析操作。这有助于提高代码执行和运行时性能。
  • 本地历史: IDEA 可能会保存一些本地历史记录,以便你可以回退到以前的代码状态。这有助于防止意外的更改导致的数据丢失。
  • 代码检查和分析缓存: IDEA 执行许多代码检查和分析操作,以提供实时的错误和警告。这些结果可能会被缓存,以便更快速地提供反馈。
  • 缓存的依赖关系: 在构建项目时,IDEA 可能会缓存项目文件之间的依赖关系,以便更有效地进行增量构建。
  • 模板缓存: 如果你使用了代码模板,IDEA 可能会缓存这些模板,以便在创建新文件或代码块时更快速地应用它们。

通俗的来说就是超出 IDEA 的内存,删除 .idea 重启即可。还是不行,再按照上面的方法解决。

相关推荐
okseekw14 分钟前
Java 字符串三巨头:String、StringBuilder、StringJoiner —— 初学者避坑指南 🤯
java
毕设源码余学姐24 分钟前
计算机毕设 java 中医药药材分类采购网站 SSM 框架药材交易平台 Java 开发的分类采购与订单管理系统
java·开发语言·课程设计
BD_Marathon29 分钟前
【JUC】并发与并行
java
okseekw41 分钟前
Java String类详解:不可变性、创建方式与比较方法
java
q***649742 分钟前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
降临-max1 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
带刺的坐椅1 小时前
Solon AI 开发学习5 - chat - 支持哪些模型?及方言定制
java·ai·openai·solon
悟空码字2 小时前
单点登录:一次登录,全网通行
java·后端
傻啦嘿哟2 小时前
物流爬虫实战:某丰快递信息实时追踪技术全解析
java·开发语言·数据库
倚肆2 小时前
Spring Boot Security 全面详解与实战指南
java·spring boot·后端