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

相关文章

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各