Java heap space
编辑(config配置缓存、system系统缓存) 自定义目录
OpenJDK Server VM warning: ignoring option PermSize=128M; support was removed in 8.0 OpenJDK Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 解释:
这条警告信息来自OpenJDK的Server VM(虚拟机),表示你正在尝试设置一个不再受支持的JVM选项PermSize。在Java 8及更高版本中,PermSize和MaxPermSize选项已经被移除,因为Java 8引入了一个新的内存区域叫做Metaspace。
解决方法:
要解决这个问题,你需要移除这些选项。如果你是通过命令行参数设置的,应该从启动脚本中去除类似-XX:PermSize=128M和-XX:MaxPermSize=256M这样的参数。
如果你使用的是Java 8或更高版本,应该使用以下Metaspace相关的选项来代替:
-XX:MetaspaceSize:初始的元空间大小-XX:MaxMetaspaceSize:最大元空间大小
启动优化 idea64.exe.vmoptions
\-Xms1024m
\-Xmx1024m
\-XX:ReservedCodeCacheSize=512m
\-XX:+IgnoreUnrecognizedVMOptions
\-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
Could not reserve enough space for 2097152KB object heap
java -Xmx2048m -version 当前的JDK可以承受2048M,然后可以在IDEA的VM中配置 -Xmx2048m,就可以了
**解决办法: **
开始->控制面板->系统->高级设置->环境变量->系统变量
新建变量:
变量名: _JAVA_OPTIONS
变量值: -Xmx1G
java -Xmx2048m -version
Picked up _JAVA_OPTIONS: -Xmx1G
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) Client VM (build 25.144-b01, mixed mode)
idea writing classes 太慢
- 首先:重新编译&构建jar
1.打开设置 File-->Setting… 2.修改配置

解决方法:
第一步:File--》Settings--》compiler,设置Build process heap size为2048
第一步:File--》Settings--》compiler--》ActionScript&Flex Compiler,设置Compiler heap size为2048
# Idea 启动项目时,卡在Parsing Java 解决方案
启动类增加:更大的堆内存 -Xms512m -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m
升级JDK 版本到190及以上
java -version
Picked up _JAVA_OPTIONS: -Xmx1G
java version "1.8.0_144"
idea同一个项目打开两个窗口

idea2020 IDEA中报错 “Error running ‘Application‘: Command line is too long.“ 的解决办法
A、首先找到 .idea/libraies/workspace.xml 中的 ,此时的页面显示为:
B、需要的操作为: 在该组件中添加代码为: 即,此时的页面展示为:
C、此时在IDEA中就不再报错,此时就解决了该问题;
idea2022,启动springboot项目报以下错误:
Error running xxxxxxApplication. Command line is too long.
Shorten the command line via JAR manifest or via a classpath file and rerun.
解决办法
1.打开Shorten command line面板;

2.将none项改为"Jar manifest";

IDEA安装JProfiler插件
- 安装IDEA 插件 JProfiler
2.安装后运行需要选择依赖组件(jprofiler_windows.exe)进行安装
下载地址:www.ej-technologies.com/download/jp…
服务启动 提升效率,降低耗时
启动速度主要的瓶颈在于bean的初始化过程(init,afterPropertiesSet方法的耗时) 很多中间件bean的初始化逻辑涉及到网络io,且在没有相互依赖的情况下串行执行。将这一部分中间件bean进行异步加载,是提升启动速度的一个探索方向。
解决方案
-
- 自动扫描可批量异步的中间件bean,而后,在bean的初始化阶段利用线程池并行执行其初始化逻辑。
-
- 允许使用方自行配置耗时bean以享受异步加速能力。(需使用方自行确认依赖关系满足异步条件)
Maven依赖冲突解决之exclusions ,缩减jar 大小




Maven依赖解决依赖冲突示例 commons-io

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.2.2</version>
<exclusions>
<exclusion>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</exclusion>
</exclusions>
</dependency>