IDEA设置JVM可分配内存大小和其他参数的教程

 更新时间:2021年01月05日 16:46:42   作者:就是为了年薪百万  
这篇文章主要介绍了IDEA设置JVM可分配内存大小和其他参数的教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

有时我们会遇到 java.lang.OutOfMemoryError 的问题,可能会需要设置jvm运行参数

作用

-Dproperty=Value

该参数通常用于设置系统级全局变量值,如配置文件路径,保证该属性在程序中任何地方都可访问。当然,也可以通过在程序中使用System.setProperty进行设置。

注意:

1、如果-Dproperty=value的value中包含空格,可以将value使用引号引起来。例如:-Dmyname="hello world"。

2、如果配置了-Dproperty=value参数,又在程序中使用了System.setProperty对同一个变量进行设置,那么以程序中的设置为准。

针对某个Application设置

1、Run-->Edit Configurations

2、选中要添加JVM参数的Application,然后在Configuration里面的VM options中输入想要添加的系统参数

针对所有的Application设置

1、找到IDEA安装目录中的bin目录

2、找到idea.exe.vmoptions文件

3、打开该文件编辑并保存。

优先级关系

代码中的配置>Application中的配置>全局配置

补充:IntelliJ IDEA 修改内存大小,运行大项目再也不卡了

运行大点的项目特别卡?没关系,我们改一下IDEA的最大占用内存就可以了。

怎样查看IDEA内存使用情况呢?

在 Settings -> Appearance & Behavior 设置窗口中,勾选 Show memory indicator 选项,然后主界面右下角会显示 Heap 总大小以及使用状况了。

接下来找到idea*.exe.vmoptions,不同的操作系统,文件名可能会不一样,而且IDEA同时提供32位和64位的程序打开方式,我经常用的是Windows下64位的打开方式,所以,就在IDEA安装目录(我安装在默认C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.3\bin)下找到idea64.exe.vmoptions进行修改

将以下三项改大大大大大大

然后重启IDEA,迫不及待去看右下角的内存指示器,!!!怎么还是默认的数值?

查找一番资料之后,发现vmoptions文件简直是狡兔三窟啊,在IDEA安装目录下的bin文件夹里,有一个idea.bat文件,在这里面配置了vmoptions文件的位置

找到真正的位置(我的C:\Users\pharma\.IntelliJIdea2017.2\config,这个实际路径对应上图红框中带参数的路径),再次进行修改

重启IDEA,查看右下角内存指示器,当当当当,成功!

等等!似乎哪里不太对劲!!为什么我设置了最大内存2048,指示器却显示2014?作为强迫症的资深代表,实在不能忍啊!

算一算差了多少,一七得七,二七四十八,三八妇女节,五一劳动节,六一儿童节... ...

算了,还是严谨一点,运行calc打开计算器算一算吧

配置文件里再加34M

重启IDEA,再次查看右下角内存指示器,变成了完美的2048!

PS:为什么初始内存也要设置1024M那么大?有文章这样说:此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持程序员之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 如何在 Java 中利用 redis 实现 LBS 服务

    如何在 Java 中利用 redis 实现 LBS 服务

    基于位置的服务,是指通过电信移动运营商的无线电通讯网络或外部定位方式,获取移动终端用户的位置信息,在GIS平台的支持下,为用户提供相应服务的一种增值业务。下面我们来一起学习一下吧
    2019-06-06
  • springboot嵌套子类使用方式—前端与后台开发的注意事项

    springboot嵌套子类使用方式—前端与后台开发的注意事项

    这篇文章主要介绍了springboot嵌套子类使用方式—前端与后台开发的注意事项,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • PowerJob?AbstractSqlProcessor方法工作流程源码解读

    PowerJob?AbstractSqlProcessor方法工作流程源码解读

    这篇文章主要为大家介绍了PowerJob?AbstractSqlProcessor方法工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Java使用抽象工厂模式实现的肯德基消费案例详解

    Java使用抽象工厂模式实现的肯德基消费案例详解

    这篇文章主要介绍了Java使用抽象工厂模式实现的肯德基消费案例,较为详细的分析了抽象工厂模式的定义、原理并结合实例形式分析了Java使用抽象工厂模式实现肯德基消费案例的步骤与相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • mybatis 自定义实现拦截器插件Interceptor示例

    mybatis 自定义实现拦截器插件Interceptor示例

    这篇文章主要介绍了mybatis 自定义实现拦截器插件Interceptor,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • spring@value注入配置文件值失败的原因分析

    spring@value注入配置文件值失败的原因分析

    这篇文章主要介绍了spring@value注入配置文件值失败的原因分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • javaCV开发详解之推流器和录制器的实现

    javaCV开发详解之推流器和录制器的实现

    这篇文章主要介绍了javaCV开发详解之推流器和录制器实现,对JavaCV感兴趣的同学,可以参考下
    2021-04-04
  • Java?事务注解@Transactional回滚(try?catch、嵌套)问题

    Java?事务注解@Transactional回滚(try?catch、嵌套)问题

    这篇文章主要介绍了Java?@Transactional回滚(try?catch、嵌套)问题,Spring?事务注解?@Transactional?本来可以保证原子性,如果事务内有报错的话,整个事务可以保证回滚,但是加上try?catch或者事务嵌套,可能会导致事务回滚失败
    2022-08-08
  • Spring实战之注入集合值操作示例

    Spring实战之注入集合值操作示例

    这篇文章主要介绍了Spring实战之注入集合值操作,结合实例形式分析了Spring注入集合值相关配置及使用操作技巧,需要的朋友可以参考下
    2019-11-11
  • 使用@NonNull注解遇到的小问题及解决

    使用@NonNull注解遇到的小问题及解决

    这篇文章主要介绍了使用@NonNull注解遇到的小问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01

最新评论

?


http://www.vxiaotou.com