idea中如何找到VM options选项

 更新时间:2025年10月16日 10:21:17   作者:软件柠檬  
本文介绍了在IDEA中通过EditConfiguration添加和修改JVM参数的方法,并详细解释了各常用参数的作用,如堆内存、线程栈、代大小等,对性能优化和调试具有参考价值

idea - run - EditConfiguration

添加VM options选项

选择VM options(中间位置)

然后就可以修改啦

  • -Xms1024m,设置JVM初始堆内存为1024m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 
  • -Xmx1024m,设置JVM最大堆内存为1024m。 
  • -Xss512k,设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。在相同物理内存下,减小这个值能生成更多的线程,当然操作系统对一个进程内的线程数还是有限制的,不能无限生成。线程栈的大小是个双刃剑,如果设置过小,可能会出现栈溢出,特别是在该线程内有递归、大的循环时出现溢出的可能性更大,如果该值设置过大,就有影响到创建栈的数量,如果是多线程的应用,就会出现内存溢出的错误。 
  • -Xmn341m,设置年轻代大小为341m。在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8。 
  • -XX:NewSize=341m,设置年轻代初始值为341M。 
  • -XX:MaxNewSize=341m,设置年轻代最大值为341M。 
  • -XX:PermSize=512m,设置持久代初始值为512M,但在java8及之后就不支持了,改用-XX:MetaspaceSize=512m。 
  • -XX:MaxPermSize=512m,设置持久代最大值为512M,同样在java8及之后就不支持了,改用-XX:MaxMetaspaceSize=512m。 
  • -XX:NewRatio=2,设置年轻代(包括1个Eden和2个Survivor区)与年老代的比值。表示年轻代比年老代为1:2。 
  • -XX:SurvivorRatio=8,设置年轻代中Eden区与Survivor区的比值。表示2个Survivor区(JVM堆内存年轻代中默认有2个大小相等的Survivor区)与1个Eden区的比值为1:1:8,即1个Survivor区占整个年轻代大小的1/10。 
  • -XX:MaxTenuringThreshold=15,具体参看JVM系列之内存分配和回收策略中对象的衰老过程。 
  • -XX:ReservedCodeCacheSize=256m,设置代码缓存的大小,用来存储已编译方法生成的本地代码。 
  • -client,设置JVM使用Client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行Java程序默认启用该模式。 
  • -server,设置JVM使Server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。在具有64位能力的JDK环境下默认启用该模式。 
  • -Dserver.port=8084,设置服务端口为8084

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 微信小程序与Java后端接口交互

    微信小程序与Java后端接口交互

    本文主要介绍了微信小程序与Java后端接口交互,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Java中实现 SHA-256加密的两种方式

    Java中实现 SHA-256加密的两种方式

    这篇文章主要介绍了Java中实现 SHA-256加密的两种方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • Spring AOP原理及动态代理

    Spring AOP原理及动态代理

    这篇文章主要介绍了Spring AOP原理及动态代理,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Java equals()方法使用详解及总结

    Java equals()方法使用详解及总结

    这篇文章主要介绍了Java equals()方法使用详解及总结的相关资料,需要的朋友可以参考下
    2017-03-03
  • Java并发容器相关知识总结

    Java并发容器相关知识总结

    今天给大家带来的文章是Java并发容器的相关知识,文中有非常详细的介绍,对正在学习Java并发容器的小伙伴们很有帮助,需要的朋友可以参考下
    2021-06-06
  • Java世界中最快的JDBC连接池HikariCP详解

    Java世界中最快的JDBC连接池HikariCP详解

    在 Java 生态系统中,JDBC 连接池的选择直接影响着系统的性能和稳定性,HikariCP 是目前公认的性能最强、代码最简洁的 JDBC 连接池实现,其设计哲学以“极简主义”为核心,本文将详细给大家介绍了Java世界中最快的JDBC连接池HikariCP,需要的朋友可以参考下
    2025-06-06
  • SpringBoot整合SpringDataRedis的示例代码

    SpringBoot整合SpringDataRedis的示例代码

    这篇文章主要介绍了SpringBoot整合SpringDataRedis的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • SpringBoot 整合MyBatis、Junit5的实践过程

    SpringBoot 整合MyBatis、Junit5的实践过程

    本文介绍了SpringBoot集成JUnit5和MyBatis的开发实践,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-10-10
  • Java超详细讲解WebMvcConfigurer拦截器

    Java超详细讲解WebMvcConfigurer拦截器

    这篇文章将用实例来和大家介绍一下WebMvcConfigurer拦截器。文中的示例代码讲解详细,对我们学习Java有一定的帮助,需要的可以参考一下
    2022-06-06
  • 使用WebMvcConfigurer配置SpringMVC过程

    使用WebMvcConfigurer配置SpringMVC过程

    WebMvcConfigurer配置类用于Java代码配置SpringMvc,实现该接口或继承WebMvcConfigurationSupport类,常用方法:addInterceptors(拦截器)、addViewControllers(视图控制器)等
    2024-12-12

最新评论