IDEA调优-四大基础配置-编码纵享丝滑

2024-03-22 22:44

本文主要是介绍IDEA调优-四大基础配置-编码纵享丝滑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 1.JVM虚拟机选项配置
      • 2.多线程编译速度
      • 3.构建共享堆内存大小
      • 4.关闭不必要的插件

1.JVM虚拟机选项配置

-Xms128m
-Xmx8192m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

在这里插入图片描述

1.-Xms128m:
设置 JVM 初始堆栈大小为 128MB。
初始堆栈大小用于存储线程运行时的局部变量和方法调用栈。
较小的初始堆栈可以减少内存占用,但可能导致频繁的垃圾回收。
较大的初始堆栈可以减少垃圾回收的频率,但可能导致内存浪费。

2. -Xmx8192m:
设置 JVM 最大堆栈大小为 8192MB。
最大堆栈大小用于限制 JVM 可以使用的最大堆内存量。
较小的最大堆栈可以防止内存溢出,但可能限制应用程序的性能。
较大的最大堆栈可以提高应用程序的性能,但可能导致内存溢出。

3. -XX:ReservedCodeCacheSize=512m:
设置保留代码缓存大小为 512MB。
保留代码缓存用于存储 JIT 编译生成的代码。
较大的保留代码缓存可以提高 JIT 编译的效率,但可能导致内存浪费。
较小的保留代码缓存可以减少内存占用,但可能降低 JIT 编译的效率。

4. -XX:+UseG1GC:
启用 G1 垃圾收集器。
G1 垃圾收集器是一种面向并发、增量、标记-清除垃圾收集器。
与传统的 CMS 和 ParNew 收集器相比,G1 收集器具有更好的性能和可预测性。

5. -XX:SoftRefLRUPolicyMSPerMB=50:
设置软引用 LRU 淘汰策略的每 MB 内存停留时间为 50 毫秒。
软引用 LRU 淘汰策略用于管理软引用缓存。
较小的停留时间可以提高软引用缓存的命中率,但可能导致频繁的淘汰。
较大的停留时间可以减少淘汰的频率,但可能降低软引用缓存的命中率。

6. -XX:CICompilerCount=2:
设置 JIT 编译器线程数量为 2。
JIT 编译器用于将 Java 字节码编译为机器码。
更多的 JIT 编译器线程可以提高 JIT 编译的速度,但可能导致 CPU 资源竞争。

7. -XX:+HeapDumpOnOutOfMemoryError:
在发生内存溢出时生成堆转储文件。
堆转储文件用于分析内存使用情况,找出导致内存溢出的原因。

8. -XX:-OmitStackTraceInFastThrow:
禁用快速异常抛出的堆栈跟踪省略。
快速异常抛出可以提高异常处理的速度,但可能导致堆栈跟踪信息的丢失。
在这里插入图片描述

2.多线程编译速度

1C的含义是1倍CPU核心数量,假设我的设备是i7-9750h处理器 6核 就会开启六线程编译
参考:亲测一个项目未开启多线程的时候需要构建3分12秒 开启后1分56秒 大概可以提速百分之50以上!
在这里插入图片描述

3.构建共享堆内存大小

1.提高构建速度:
1>共享堆内存用于存储构建过程中经常使用的数据,例如编译器缓存、类加载器缓存等。
2>增加共享堆内存大小可以减少这些数据的重复加载和创建,从而提高构建速度。
3>尤其是在大型项目中,构建过程中需要处理大量数据,增加共享堆内存可以显著提升构建效率。

2. 减少内存占用:
1>共享堆内存可以在多个项目之间共享,避免每个项目单独分配内存。
2>这对于拥有多个项目的开发人员来说尤为重要,可以有效降低内存占用,特别是对于内存资源有限的机器。

3. 提高稳定性:
1>充足的共享堆内存可以避免因内存不足导致的构建失败或异常。
2>特别是在构建复杂的项目或使用大量插件的情况下,增加共享堆内存可以提高构建的稳定性。

在这里插入图片描述

4.关闭不必要的插件

在这里插入图片描述

这篇关于IDEA调优-四大基础配置-编码纵享丝滑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/836365

相关文章

MySQL zip安装包配置教程

《MySQLzip安装包配置教程》这篇文章详细介绍了如何使用zip安装包在Windows11上安装MySQL8.0,包括下载、解压、配置环境变量、初始化数据库、安装服务以及更改密码等步骤,感兴趣的朋... 目录mysql zip安装包配置教程1、下载zip安装包:2、安装2.1 解压zip包到安装目录2.2

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

在idea中使用mysql数据库超详细教程

《在idea中使用mysql数据库超详细教程》:本文主要介绍如何在IntelliJIDEA中连接MySQL数据库,并使用控制台执行SQL语句,还详细讲解了如何使用MyBatisGenerator快... 目录一、连接mysql二、使用mysql三、快速生成实体、接口、sql文件总结一、连接mysql在ID

IDEA如何让控制台自动换行

《IDEA如何让控制台自动换行》本文介绍了如何在IDEA中设置控制台自动换行,具体步骤为:File-Settings-Editor-General-Console,然后勾选Usesoftwrapsin... 目录IDEA如何让控制台自http://www.chinasem.cn动换行操作流http://www