IDEA性能优化设置(解决卡顿问题)

 更新时间:2023年05月25日 15:53:51   作者:ThinkStu  
在我们日常使用IDEA进行开发时,可能会遇到许多卡顿的瞬间,本文主要介绍了IDEA性能优化设置,非常具有实用价值,需要的朋友可以参考下

在我们日常使用IDEA进行开发时,可能会遇到许多卡顿的瞬间,明明我们的机器配置也不低啊?为什么就会一直卡顿呢?

原来这是因为IDEA软件在我们安装的时候就设置了默认的内存使用上限(通常很小),这就是造成我们使用IDEA时卡顿的根本原因。比如我这台电脑,明明是16GB的运行内存,但是IDEA默认给我分配的使用上限是1GB,当我运行大量代码时自然而然的就会产生卡顿。

我们可以通过显示内存使用情况来查看当前项目占用的内存大小。

可以看到当前我的程序占用了690MB的内存,而上限是1024MB(在性能突发时完全承受不住)。我们可以通过进入IDEA的设置来更改这些配置。

具体步骤:(三步)

1. 选择顶部导航栏中的Help,然后点击Edit Custom VM Options(自定义虚拟机内存)。

 2. 接下来我们将会看到这个界面:

-Xmx1024m    // 最大内存上限为:1024MB(1GB)
-Xms256m     // 初始内存分配大小为:256MB
-XX:ReservedCodeCacheSize=128m    //代码缓冲区大小:128MB
-XX:+UseG1GC

我们对其进行适当的修改(具体根据个人电脑配置),并保存文件:

-Xmx4096m
-Xms4096m
-XX:ReservedCodeCacheSize=256m
-XX:+UseG1GC

3. 缓存清理(使新配置生效):

选择 File ---> Invalidate Caches(清理无效的缓存) 

保持默认的选项,选择确定清理缓存并重启IDEA (结束)。

好了,最后我们来看一下重启之后的IDEA效果~没错,很流畅

另外说一句,JetBrains系列的产品都可以通过这种设置来解决卡顿的问题。没错,包括PyCharm、Android Studio、WebStorm等,其余参数说明如下:

参数说明:

  • -server:一定要作为第一个参数,在多个CPU时性能佳
  • -Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
  • -Xmx:java heap最大值,使用的最大内存
  • -XX:PermSize:设定内存的永久保存区域
  • -XX:MaxPermSize:设定最大内存的永久保存区域
  • -XX:MaxNewSize:
  • +XX:AggressiveHeap 使 Xms 失去意义。
  • -Xss:每个线程的Stack大小
  • -verbose:gc 现实垃圾收集信息
  • -Xloggc:gc.log 指定垃圾收集日志文件
  • -Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
  • -XX:+UseParNewGC :缩短minor收集的时间
  • -XX:+UseConcMarkSweepGC :缩短major收集的时间

提示:此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适。

到此这篇关于IDEA性能优化设置(解决卡顿问题)的文章就介绍到这了,更多相关IDEA性能优化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring项目读取配置文件中文乱码的解决

    Spring项目读取配置文件中文乱码的解决

    这篇文章主要介绍了Spring项目读取配置文件中文乱码的解决方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • SpringBoot获取Request请求的三种方式小结

    SpringBoot获取Request请求的三种方式小结

    本文介绍了SpringBoot中获取Request对象的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • 利用Java中Calendar计算两个日期之间的天数和周数

    利用Java中Calendar计算两个日期之间的天数和周数

    Java 语言的Calendar(日历),Date(日期),和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分。日期是商业逻辑计算一个关键的部分。下面这篇文章就给大家介绍了如何利用Java中Calendar计算两个日期之间的天数和周数,下面来一起看看吧。
    2016-12-12
  • 深入java内存查看与分析详解

    深入java内存查看与分析详解

    本篇文章是对java内存查看进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Java was started but returned exit code=13问题解决案例详解

    Java was started but returned exit code=13问题解决案例详解

    这篇文章主要介绍了Java was started but returned exit code=13问题解决案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • SpringBoot多种场景传参模式

    SpringBoot多种场景传参模式

    传参是非常常见的,本文主要介绍了SpringBoot多种场景传参模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • java实现图片写入高清字体及带边框的方法

    java实现图片写入高清字体及带边框的方法

    这篇文章主要介绍了java实现图片写入高清字体及带边框的方法,涉及java针对图片及文字的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Java学习基础之安装JDK/配置JDK环境&IEDA工具安装

    Java学习基础之安装JDK/配置JDK环境&IEDA工具安装

    这篇文章主要介绍了Java学习基础系列文章的第一篇,主要内容是安装JDK/配置JDK环境&IEDA工具安装的相关资料,需要的朋友可以参考下
    2020-02-02
  • java实现支付宝支付接口的调用

    java实现支付宝支付接口的调用

    本文主要介绍了java实现支付宝支付接口的调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • java使用Process调用exe程序及Process.waitFor()死锁问题解决

    java使用Process调用exe程序及Process.waitFor()死锁问题解决

    在编写Java程序时,有时候我们需要调用其他的诸如exe,shell这样的程序或脚本,下面这篇文章主要给大家介绍了关于java使用Process调用exe程序及Process.waitFor()死锁问题解决的相关资料,需要的朋友可以参考下
    2022-12-12

最新评论