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

相关文章

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据