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

相关文章

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh