IntelliJ IDEA 内存优化最佳实践方法

合集下载

idea out of memory解决方法

idea out of memory解决方法

idea out of memory解决方法
当程序运行时出现"Out of Memory"错误,意味着系统无法为
程序分配足够的内存空间。

解决该问题的方法如下:
1. 检查代码中是否存在内存泄漏问题。

内存泄漏是指程序在使用完内存后没有释放掉,导致内存占用不断增加。

通过使用工具来检测和分析内存泄漏问题,比如使用内存分析工具(如Valgrind等)。

2. 检查程序中是否存在大量的无限循环或递归调用。

这样的情况会导致内存不断增长,最终耗尽系统内存。

确保程序中的循环或递归调用都有正确的退出条件。

3. 调整程序的内存使用方式。

例如,尽量使用更小的数据结构、使用迭代而不是递归等。

4. 增加可用内存大小。

可以通过增加系统的物理内存或者调整虚拟内存的大小来提供更多的内存空间。

这可能需要联系系统管理员或进行系统设置更改。

5. 优化算法和数据结构。

一些算法和数据结构可能会更有效地利用内存。

通过使用更合适的算法和数据结构,可以减少内存使用量。

6. 分享内存负载。

如果可能的话,将一些内存密集型任务移交给其他可用资源处理,如使用分布式系统进行计算。

7. 使用较新版本的语言或工具。

某些编程语言或工具可能会更有效地管理内存,避免出现内存不足的问题。

8. 最后,如果以上方法都无效,可能需要对程序进行重构或者重新设计,以减少内存使用量。

IntelliJ IDEA 内存优化最佳实践方法

IntelliJ IDEA 内存优化最佳实践方法

正如上图所示,启动时间并不依赖于内存设置。 Idea 在所有场景下的测试时间都是10秒,无论内存分配有多少。这并不足为奇,因为在此早 期阶段,这些设置并不会影响到应用的行为。
加载大项目花费的时间
现在加载 Monolith 项目及其70万行代码。终于,出现了一些的差异。默认设置所花费的时间几乎是其它的3倍。很明显,如此庞大的代码库需 要更多的内存。如果我们执行:
在IDEA中打开两个微服务
现在加载这两个微服务项目,在 IDEA 中打开并且对比他们所消耗的时间。
第4页 共7页
在这个测试用例下,差异还是非常明显的,复杂设置表现最佳,而默认设置仍旧输给了其他两种设置。
再次使用jstat –gcutil
加载完两个微服务项目后,来检查一下同时打开3个项目的情况下, GC 的表现情况。经测试发现,3个不同的自定义设置表现几乎差不多, 而默认设置简直弱爆了。
不要做守财奴,给IDE多留点内存吧。
昨天,大家就是否自定义 IntelliJ IDEA 的内存设置进行了讨论,有些人选择默认设置,有些人会对默认的设置进行简单的变更,还有一些开发 者会基于他们的需求进行全面复杂的设置。笔者目前的工作是处理几个微服务项目和一个老项目,而客户的核心业务需求非常大。对 IntelliJ IDEA 内存进行简单设置以后,笔者明显感受到了该 IDE 在速度和响应方面的改善。但当时笔者并未进行具体的测量,所以这只是主观感受而 已。 不过,参与讨论的一位开发者给笔者发了一份他的设置,虽然是针对同个项目,该设置却极其复杂。笔者对自己的设置并无不满,但非常好 奇,这些完全不同的设置对比 JetBrains 提供的默认设置,会有怎样的不同。
第1页 共7页
9. 检查 jstat -gcutil 10. 返回大项目然后点击“ 刷新 Gradle 项目” 按钮(测试时间) 11. 检查 jstat -gcutil

idea out of memory解决方法

idea out of memory解决方法

(原创实用版3篇)编制人:_______________审核人:_______________审批人:_______________编制单位:_______________编制时间:_______________序言小编为大家精心编写了3篇《idea out of memory解决方法》,供大家参考借鉴。

下载后,可根据实际需要进行调整和使用,希望对大家有所帮助。

(3篇)《idea out of memory解决方法》篇1Idea Out of Memory是一种Java虚拟机(JVM)的错误,通常发生在运行大型项目或处理大量数据时。

以下是几种可能的解决方法:1. 增加JVM内存:您可以尝试增加JVM的内存限制。

在IntelliJ IDEA中,您可以通过单击File u003e Settings u003e Build, Execution, Deployment u003e Application来更改JVM内存设置。

2. 调整JVM参数:您可以在启动JVM时添加一些参数来帮助它更好地管理内存。

例如,您可以添加以下参数:```shell-Xmx1024m -Xms512m -XX:MaxPermSize=256m```这将允许JVM使用1GB的内存,并将堆大小设置为512MB,并将永久代的最大大小设置为256MB。

3. 缩小项目大小:如果您可以减小项目的规模,这将有助于减少内存使用量。

您可以尝试删除不必要的数据和代码,或尝试将大型数据集分成较小的块进行处理。

4. 使用外部工具:如果您在处理大量数据时遇到问题,您可以使用外部工具来加速数据处理过程。

例如,您可以使用Hadoop、Spark或Cassandra等工具来处理大型数据集。

5. 考虑升级硬件:如果您仍然遇到内存问题,您可以考虑升级您的硬件配置。

《idea out of memory解决方法》篇2"Idea Out of Memory" 错误通常是由于您的 Java 虚拟机(JVM)内存不足导致的。

intellij idea 项目 jvm参数

intellij idea 项目 jvm参数

intellij idea 项目 jvm参数一、Jvm参数概述在IntelliJ IDEA中,Jvm参数是影响项目运行环境的重要设置。

它们决定了Java虚拟机(JVM)在处理项目代码时的性能、内存使用和稳定性。

通过合理配置Jvm参数,可以优化项目运行环境,提高开发效率。

二、Jvm参数设置步骤1. 打开IntelliJ IDEA,并打开你的项目。

2. 在项目导航器中,找到项目的“项目设置”(Project Settings)选项。

3. 在项目设置中,选择“JVM参数”(JVM Parameters)选项卡。

4. 在这里,你可以看到当前的Jvm参数设置。

你也可以点击“+”按钮,添加新的Jvm参数。

三、Jvm参数设置技巧1. 内存设置:根据项目的大小和性能需求,合理设置JVM的内存参数。

一般情况下,可以使用默认值,但如果项目较大或性能要求较高,可以适当增加内存大小。

2. 优化垃圾回收:通过调整垃圾回收(GC)的参数,可以提高项目的运行效率。

例如,可以设置G1垃圾回收器的参数,以达到更好的性能。

3. 启用JIT编译:JIT编译是JVM在运行时对代码进行编译的技术。

启用JIT编译可以提高代码的执行效率。

4. 调整线程数:根据项目需求,合理设置JVM的线程数。

过多的线程数可能导致系统资源耗尽,过少的线程数则可能影响性能。

5. 使用优化版本的内核:IntelliJ IDEA提供了多种内核版本供用户选择。

选择适合项目需求的内核版本,可以提高代码编辑和运行效率。

四、常见Jvm参数说明1. -Xms:设置JVM初始内存大小。

2. -Xmx:设置JVM最大内存大小。

3. -XX:MaxPermSize/MaxMetaspaceSize:设置永久代(PermGen)或元空间(Metaspace)的最大内存大小。

在Java 8及以后版本中,永久代已被元空间取代。

4. -XX:NewRatio:新老内存空间的配比。

5. -XX:G1HeapRegionSize:G1垃圾回收器中的堆区大小。

idea 调优参数

idea 调优参数

idea 调优参数Idea 调优参数在机器学习和深度学习领域,调优参数是一个重要的任务。

通过调优参数,我们可以提高模型的性能并优化模型的训练过程。

本文将探讨一些调优参数的想法和方法,以提高模型的性能和训练效果。

一、学习率调优学习率是深度学习中一个非常重要的参数,它决定了模型在每次迭代中更新权重的幅度。

合适的学习率可以加快模型的收敛速度,提高模型的准确率。

但是,学习率过大可能导致模型不收敛,学习率过小可能导致模型收敛速度过慢。

因此,我们需要通过实验找到合适的学习率。

常用的学习率调优方法包括:固定学习率、动态学习率、学习率退火和自适应学习率。

固定学习率是一种简单的调优方法,直接指定一个固定的学习率。

动态学习率可以根据模型的训练情况自动调整学习率。

学习率退火是一种逐渐减小学习率的方法,可以让模型在训练后期更加稳定。

自适应学习率是一种根据模型的训练情况自动调整学习率的方法,如Adam优化器就是一种自适应学习率的方法。

二、批量大小调优批量大小是指模型在每次迭代中使用的样本数量。

合适的批量大小可以提高模型的训练效果。

一般来说,较大的批量大小可以加快模型的训练速度,但也会增加内存的消耗。

较小的批量大小可以节省内存,但训练速度较慢。

因此,我们需要通过实验找到合适的批量大小。

常用的批量大小调优方法包括:固定批量大小、动态批量大小和小批量训练。

固定批量大小是一种简单的调优方法,直接指定一个固定的批量大小。

动态批量大小可以根据模型的训练情况自动调整批量大小。

小批量训练是一种在每次迭代中使用较小批量大小的方法,可以提高模型的训练效果。

三、正则化参数调优正则化是一种常用的防止过拟合的方法。

正则化参数控制了正则化的强度,合适的正则化参数可以提高模型的泛化能力。

正则化参数过大可能导致模型欠拟合,正则化参数过小可能导致模型过拟合。

因此,我们需要通过实验找到合适的正则化参数。

常用的正则化参数调优方法包括:固定正则化参数、动态正则化参数和交叉验证。

修改idea内存大小的方法 -回复

修改idea内存大小的方法 -回复

修改idea内存大小的方法-回复如何修改IDEA内存大小在日常的软件开发中,IntelliJ IDEA是许多开发人员使用的首选集成开发环境之一。

然而,随着项目的增长和复杂度的提高,IDEA的默认内存设置可能无法满足我们的需求。

为了获得更好的性能和稳定性,我们需要调整IDEA的内存大小。

本文将详细介绍如何一步一步地修改IDEA的内存大小。

第一步:检查IDEA的当前内存设置在开始调整IDEA的内存大小之前,我们首先需要了解当前IDEA使用的内存量。

这可以通过IDEA的日志来实现。

打开你的IDEA安装目录,找到bin文件夹下的idea.exe.vmoptions(或者在Linux和Mac OS上是idea.vmoptions)文件。

右键单击该文件,选择用记事本或其他文本编辑器打开。

在打开的文件中,你可以看到一系列的JVM运行时参数。

其中,-Xms 和-Xmx参数对应IDEA使用的初始内存和最大内存。

默认情况下,这两个参数的值被设置为相同,一般为128m或256m。

第二步:备份并编辑vmoptions文件在修改IDEA的内存大小之前,我们强烈建议先备份原始的vmoptions 文件。

这样,当出现问题时,可以方便地恢复到原始设置。

复制整个文件,将其命名为"idea.exe.vmoptions.backup",或者其他你认为合适的名称。

接下来,我们需要编辑原始的vmoptions文件来调整IDEA的内存大小。

打开原始文件,并用文本编辑器进行修改。

第三步:调整初始内存大小-Xms参数指定了IDEA启动时的初始内存大小。

默认情况下,为了提高启动速度,这个值通常比较小。

然而,对于大型项目和较复杂的代码,可能需要增加初始内存的大小以提高性能。

找到-Xms参数所在的行,并将它的值增加到你认为适当的大小。

通常,16GB内存的计算机可以将这个值设置为512m或1g。

如果你的计算机性能较低,可以适当降低这个值。

代码开发中的内存管理优化技巧

代码开发中的内存管理优化技巧

代码开发中的内存管理优化技巧代码开发中的内存管理优化技巧是确保程序尽可能高效地使用内存资源的关键。

良好的内存管理优化可以提高代码的性能、减少内存泄漏和崩溃的风险,并减少内存的使用量。

以下是几个重要的内存管理优化技巧:1.使用合适的数据结构:选择合适的数据结构对于内存管理和性能是至关重要的。

例如,如果需要频繁插入和删除元素,并且不需要按顺序访问它们,那么使用链表而不是数组可以大大减少内存碎片和提高性能。

2.避免内存泄漏:内存泄漏是指动态分配的内存没有被正确释放,导致内存泄漏并最终耗尽系统资源。

使用编程语言中的自动内存管理工具(如垃圾回收器)可以减少内存泄漏的风险。

此外,确保在不再使用内存时及时释放它们也是非常重要的。

3.批量分配和释放内存:频繁地进行内存分配和释放是非常低效的。

为了减少内存分配的次数,可以使用对象池或内存池来复用已分配的内存。

这样可以避免频繁的内存分配和释放操作,提高性能。

4.合理使用缓存:内存缓存是提高性能的重要手段。

通过将经常使用的数据加载到缓存中,可以减少对慢速存储介质(如硬盘)的访问次数,提高代码的执行效率。

但是,需要注意缓存的大小和生命周期,以避免占用过多的内存资源。

5.预分配和延时分配:在代码开发中,可以使用预分配和延时分配的技术来减少内存的使用量。

预分配是在程序启动时一次性分配所需的内存,而不是在每个需要时动态分配。

延时分配是在需要时分配内存,而在不需要时将其释放。

这些技术可以减少内存碎片,提高内存使用效率。

6.内存对齐:内存对齐是指将数据存储在内存中的特定地址上,以提高数据访问的效率。

对于某些体系结构,内存对齐是必须的,否则可能会导致性能下降。

在开发代码时,确保数据结构的对齐方式与目标平台的要求一致。

7.优化内存访问模式:内存的访问模式对代码的性能有很大影响。

通过合理地组织数据的布局,可以提高内存的局部性,减少缓存未命中的次数,从而提高代码的执行效率。

例如,可以将频繁访问的数据存储在连续的内存位置上,避免跳跃式的内存访问。

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:+UseG1GC3.缓存清理(使新配置生效):选择 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 失去意义。

IntellijIDEA常用配置详解

IntellijIDEA常用配置详解

Intel‎l ij IDEA常‎用配置详解‎1. IDEA内‎存优化先看看你机‎器本身的配‎置而配置.\Intel‎l iJ IDEA 8\bin\idea.exe.vm opt‎i ons------------------------------------------Xm s64‎m-Xm x25‎6m-XX:MaxPe‎r m Siz‎e=92m-ea-serve‎r-Dsun.awt.keepW‎o rkin‎g SetO‎n Mini‎m ize=t rue查询快捷键‎CTRL+N 查找类CTRL+SHIFT‎+N 查找文件CTRL+SHIFT‎+ALT+N 查找类中的方‎法或变量CIRL+B 找变量的来‎源CTRL+ALT+B 找所有的子‎类CTRL+SHIFT‎+B 找变量的类CTRL+G 定位行CTRL+F 在当前窗口‎查找文本CTRL+SHIFT‎+F 在指定窗口‎查找文本CTRL+R 在当前窗口替‎换文本CTRL+SHIFT‎+R 在指定窗口‎替换文本ALT+SHIFT‎+C 查找修改的‎文件CTRL+E 最近打开的文‎件F3 向下查找关‎键字出现位‎置SHIFT‎+F3 向上一个关‎键字出现位‎置F4 查找变量来‎源CTRL+ALT+F7 选中的字符查找工程出‎现的地方CTRL+SHIFT‎+O 弹出显示查‎找内容SVN 管理把SVN库‎添加到ID‎E A中 SETTI‎N G -> VERSI‎O N CONTR‎O L -> VCS = SVBVE‎R SION‎自动代码ALT+回车导入包,自动修正CTRL+ALT+L 格式化代码‎CTRL+ALT+I 自动缩进CTRL+ALT+O 优化导入的‎类和包ALT+INSER‎T生成代码(如GET,SET方法‎,构造函数等‎)CTRL+E 或者ALT‎+SHIFT‎+C 最近更改的‎代码CTRL+SHIFT‎+SPACE‎自动补全代‎码CTRL+空格代码提示CTRL+ALT+SPACE‎类名或接口名‎提示CTRL+P 方法参数提‎示CTRL+J 自动代码CTRL+ALT+T 把选中的代‎码放在TRY{} IF{} ELSE{} 里复制快捷方‎式F5 拷贝文件快‎捷方式CTRL+D 复制行CTRL+X 剪切,删除行CTRL+SHIFT‎+V 可以复制多‎个文本高亮CTRL+F 选中的文字‎,高亮显示上下跳到下‎一个或者上‎一个F2 或SHIF‎T+F2 高亮错误或‎警告快速定‎位CTRL+SHIFT‎+F7 高亮显示多‎个关键字.其他快捷方‎式CIRL+U 大小写切换‎CTRL+Z 倒退CTRL+SHIFT‎+Z 向前CTRL+ALT+F12 资源管理器‎打开文件夹‎ALT+F1 查找文件所‎在目录位置‎SHIFT‎+ALT+INSER‎T竖编辑模式CTRL+/ 注释//CTRL+SHIFT‎+/ 注释/*...*/CTRL+W 选中代码,连续按会有其他效果‎CTRL+B 快速打开光‎标处的类或‎方法ALT+←/→切换代码视‎图CTRL+ALT ←/→返回上次编‎辑的位置ALT+↑/↓在方法间快‎速移动定位‎SHIFT‎+F6 重构-重命名CTRL+H 显示类结构图‎CTRL+Q 显示注释文‎档ALT+1 快速打开或‎隐藏工程面‎板CTRL+SHIFT‎+UP/DOWN 代码向上/下移动。

idea的memory setting

idea的memory setting

idea的memory setting作为一名程序员,我们经常需要优化代码以提高程序的性能。

在Java开发中,idea是一款功能强大的集成开发环境(IDE),它为我们提供了一系列便捷的工具和设置。

其中,memory setting是控制程序内存使用的重要设置,合理调整memory setting可以有效提升程序的运行效率。

在idea中,memory setting主要包括以下几个选项:1.Initial heap size:初始堆大小。

合理设置初始堆大小可以避免程序在启动时分配过多内存,降低内存泄漏的风险。

一般来说,我们将初始堆大小设置为程序预计需要的内存量即可。

2.Max heap size:最大堆大小。

最大堆大小决定了程序能分配的最大内存。

如果设置过大,可能导致内存泄漏;如果设置过小,程序可能在运行过程中因内存不足而崩溃。

建议将最大堆大小设置为一个较小的值,并在程序运行过程中根据实际需求进行调整。

3.Initial off-heap memory:初始堆外内存。

堆外内存主要用于存储非Java对象,如本地缓存等。

合理设置初始堆外内存可以提高程序的运行效率。

根据程序需求,可以适当增加初始堆外内存的大小。

4.garbage collector:垃圾收集器。

垃圾收集器负责回收不再使用的内存,降低内存泄漏的风险。

在idea中,我们可以根据程序的特性选择合适的垃圾收集器。

例如,对于内存占用较大的程序,可以选择使用G1垃圾收集器,以提高垃圾回收的效率。

5.Concurrent garbage collection:并发垃圾收集。

并发垃圾收集可以在程序运行过程中同时进行垃圾回收,降低垃圾回收对程序运行的影响。

根据程序的运行需求,可以开启或关闭并发垃圾回收。

在实际编程中,我们可以根据程序的特性调整memory setting,以达到优化内存使用和提高程序性能的目的。

以下是一些建议:1.针对内存占用较大的程序,可以适当增加初始堆大小和最大堆大小,以确保程序有足够的内存运行。

详解IDEA中便捷内存数据库H2的最简使用方式

详解IDEA中便捷内存数据库H2的最简使用方式

详解IDEA中便捷内存数据库H2的最简使⽤⽅式 在IDEA中做练习或做demo时,有时候需要使⽤到数据库,但如果⾃⼰机⼦上本来没有安装数据库(全新安装太⿇烦或资源有限),也没有可⽤的远程数据库时,我们可以直接在IDEA上使⽤便捷式的内存数据库H2,关于H2更多知识就⾃⼰去找⼀下资料了,接下来主要讲⼀下如何在IDEA下的SpringBoot项⽬中把它⽤起来! ⾸先在IDEA中新建⼀个空的Maven项⽬,编辑项⽬pom.xml⽂件,增加SpringBoot和最基础的数据访问相关jar包依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>microservice-simple-provider-user</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.boot</groupId><version>2.4.2</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version></properties><dependencies><dependency><!--SpringBoot的Web项⽬起步依赖--><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.4.2</version></dependency><dependency><!--SpringBoot的jpa数据访问组件起步依赖--><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId><version>2.3.1.RELEASE</version></dependency><dependency><!--⾃动构建H2嵌⼊式或内存数据库的依赖--><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>1.4.200</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.4.2</version></plugin></plugins></build></project> 然后在classpath路径范围内增加建表SQL脚本⽂件和数据初始化⽂件: 接着再添加SpringBoot项⽬配置⽂件application.yml,并添加jpa、datasource和h2的主要配置项: 最后再为项⽬添加⼀个SpringBoot启动类,即可将应⽤跑起来,并进⾏H2内存数据库的连接了: 注意:⾃动创建的H2内存数据库的管理地址就是我们在application.yml中配置的h2.console.path地址,进⼊管理页后如下图所⽰: 这样我们的应⽤就相当于⾃带了⼀个便捷式内存数据库了! 现在我们来为项⽬做⼀个最简单的H2内存数据库的使⽤样例——为H2数据库中的User表增加对应的实体类User.java、基于JPA的数据访问对象UserRepository.java和API层控制类UserController.java:User.java类:package com.example.models;import com.fasterxml.jackson.annotation.JsonIgnoreProperties;import javax.persistence.*;import java.math.BigDecimal;@JsonIgnoreProperties(value = {"hibernateLazyInitializer"})@Entitypublic class User {@Id@GeneratedValue(strategy = GenerationType.AUTO)private Long id;@Columnprivate String username;@Columnprivate String name;@Columnprivate Integer age;@Columnprivate BigDecimal balance;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getName() {return name;}public void setName(String name) { = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public BigDecimal getBalance() {return balance;}public void setBalance(BigDecimal balance) {this.balance = balance;}}UserRepository.java类:package com.example.dao;import er;import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;@Repositorypublic interface UserRepository extends JpaRepository<User, Long> { }UserController.java类:package com.example.controller;import erRepository;import er;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class UserController {@Autowiredprivate UserRepository userRepository;@GetMapping("/{id}")public User findById(@PathVariable Long id) {User oneUser = erRepository.getOne(id);return oneUser;}} 最后的项⽬结构如图所⽰: 来看⼀下效果:到此这篇关于详解IDEA中便捷内存数据库H2的最简使⽤⽅式的⽂章就介绍到这了,更多相关IDEA内存数据库H2内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

实战:IDEA运行速度调优

实战:IDEA运行速度调优

实战:IDEA运⾏速度调优序⾔可能⼤家觉得系统调优⼀般都是针对服务端应⽤⽽⾔的,普通Java开发⼈员很少有机会实践。

今天就通⽤⼀个Java开发⼈员⽇常⼯作中经常使⽤的开发⼯具开做⼀次调优实战。

我在⽇常⼯作中的主要IDE⼯具是IntelliJ IDEA,由于安装的插件较多,项⽬代码也⽐很多,所以运⾏速度不是特别令⼈满意,所以决定对其进⾏调优。

IDEA的运⾏平台是64位Windows10系统,虚拟机为HotSpot 1.8 b64。

硬件为Intel i7-10510U,8GB物理内存。

初始JVM参数配置如下:1 -Xmx512m2 -XX:ReservedCodeCacheSize=240m3 -XX:SoftRefLRUPolicyMSPerMB=804 -ea5 eCanonCaches=false6 .preferIPv4Stack=true7 -XX:+HeapDumpOnOutOfMemoryError8 -XX:-OmitStackTraceInFastThrow为了⽅便与调优后的结果做对⽐,在开始前先做⼀组初始数据测试。

由于⽆法得知IDEA启动的准确耗时,我们通过VisualGC收集到的信息,总结初始配置下的测试结果:最后⼀次启动的数据样本中,垃圾收集总耗时3.102秒,其中:FULL GC被触发了6次,共耗时1.109秒。

Minor GC被触发了89次,共耗时1.933秒。

加载类41148个,耗时28.908秒。

虚拟机的512MB堆内存被分配为50MB的新⽣代(40MB的Eden区和两个5MB的Survivor区)和462MB的⽼年代。

图:VisualVM监控1、编译时间和类加载优化通过测试数据可以看到,加载类和编译的时间⾮常耗时,⽽在其中字节码校验耗时占较⼤的⽐例。

IDEA作为⼀款⼴为使⽤的成熟产品,它的编译代码我们可以认为是安全可靠的,不需要在加载过程中再进⾏字节码验证,因此可以通过-Xverify:none参数禁⽌掉字节码校验过程。

ideaoutofmemory解决方法

ideaoutofmemory解决方法

ideaoutofmemory解决方法
Idea Out of Memory(OOM)是由于系统内存不足而导致的一种错误。

在IntelliJ IDEA中,有时就会出现这种内存错误,并导致应用程序崩溃。

要解决Idea Out of Memory,有很多种方法可以尝试。

在第一个方
案中,我们将通过增加IntelliJ IDEA申请的内存量来解决Idea Out of Memory。

由于IntelliJ IDEA内存要求较高,因此建议增加至少1GB (1024MB)的内存。

您还可以使用IntelliJ IDEA中的“清理可用空间”工具来释放内存。

此工具会自动查找并删除系统对无用文件的引用,从而释放出可用的内存
空间。

您还可以使用Windows任务管理器的内存保护器(MemProtector)
来保护内存空间,以便IntelliJ IDEA可以使用更多的可用内存空间。

如果要以编程方式解决Idea Out of Memory,您可以使用JVM参数
来指定要分配给IntelliJ IDEA的内存大小。

(2条消息)IntelliJIDEA修改内存大小,运行大项目再也不卡了

(2条消息)IntelliJIDEA修改内存大小,运行大项目再也不卡了

(2条消息)IntelliJIDEA修改内存大小,运行大项目再也不卡了运行大点的项目特别卡?没关系,我们改一下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重新分配内存。

idea文件过大解决方法

idea文件过大解决方法

idea文件过大解决方法以idea文件过大解决方法为题,我们来讨论一下如何解决这个问题。

我们需要了解什么是idea文件。

Idea文件是指JetBrains公司开发的一款集成开发环境(IDE)软件IntelliJ IDEA生成的项目文件。

这些文件包含了项目的配置信息、代码、资源和其他相关文件。

由于项目中的代码和资源文件可能会很多,因此导致idea文件变得很大。

那么,当我们遇到idea文件过大的情况时,应该如何解决呢?下面是一些可行的方法:1. 清理无用的代码和资源文件:在开发过程中,我们可能会引入一些无用的代码和资源文件。

通过检查项目中的代码和资源文件,将不再使用的文件删除,可以有效减小idea文件的大小。

2. 压缩代码和资源文件:使用代码和资源文件压缩工具,将代码和资源文件进行压缩,可以减小idea文件的体积。

注意,在压缩代码和资源文件之前,需要确保没有引入错误或冗余的代码。

3. 利用版本控制系统:使用版本控制系统(如Git)来管理项目的代码和资源文件。

通过将项目提交到版本控制系统中,并使用版本控制系统的压缩和差异功能,可以减小idea文件的大小。

4. 使用外部存储设备:如果idea文件实在太大,无法在本地存储,可以考虑将文件存储到外部存储设备,如移动硬盘或云存储服务。

这样可以释放本地存储空间,同时也方便将文件共享给其他人。

5. 分割idea文件:如果idea文件过大,无法直接处理,可以考虑将文件分割成多个较小的文件。

这样可以方便进行管理和处理,同时也减小了单个文件的大小。

6. 升级IDE软件版本:IDE软件厂商通常会对软件进行优化和改进,包括对idea文件的处理。

因此,如果你的IDE软件版本较旧,可以考虑升级到最新版本,以获得更好的文件处理性能。

7. 调整IDE软件配置:IDE软件通常会有一些配置选项,可以调整软件的行为和性能。

通过调整这些配置选项,如内存分配、缓存大小等,可以提升IDE软件处理大型idea文件的能力。

idea的memory setting

idea的memory setting

idea的memory setting目录1.引言2.IDEA 的 memory setting 的概念和作用3.IDEA 的 memory setting 设置方法4.IDEA 的 memory setting 的优化建议5.结论正文【引言】在软件开发过程中,内存管理是一个重要的环节。

对于 Java 开发者来说,IDEA(IntelliJ IDEA)是一款广泛使用的集成开发环境。

为了更好地进行内存管理,IDEA 提供了 memory setting 功能。

本文将详细介绍 IDEA 的 memory setting,包括其概念、作用、设置方法以及优化建议。

【IDEA 的 memory setting 的概念和作用】IDEA 的 memory setting 是指对 IDEA 内存的使用进行配置,以提高软件的性能和稳定性。

通过对内存的使用进行设置,可以有效地减少内存泄漏、提高程序运行速度以及避免因为内存不足导致的程序崩溃等问题。

【IDEA 的 memory setting 设置方法】要设置 IDEA 的 memory setting,需要按照以下步骤进行操作:1.打开 IDEA,点击“File”菜单,选择“Settings”。

2.在“Settings”窗口中,选择“Editor”选项。

3.在“Editor”选项下,找到“File Handle”子选项,点击“MemoryUsage”。

4.在“Memory Usage”选项卡中,可以设置各个内存使用参数,如“Maximun heap size”、“Initial heap size”等。

5.根据实际需求,调整各个参数的值。

需要注意的是,调整参数时要考虑到计算机的硬件配置和项目的复杂度,避免设置过高或过低的值导致程序性能下降或内存不足的问题。

【IDEA 的 memory setting 的优化建议】为了更好地利用 IDEA 的 memory setting 功能,以下是一些优化建议:1.根据项目需求和计算机硬件配置,合理设置各个内存使用参数。

idea的memory setting

idea的memory setting

idea的memory setting一、概述Idea是一款受欢迎的智能手机操作系统,提供了丰富的内存管理功能,以满足用户在不同场景下的需求。

本文档旨在帮助用户了解如何设置Idea的内存管理,以提高手机性能和电池寿命。

二、详细说明1. 自动内存清理:开启此功能,系统将自动在后台清理不再需要的应用程序和缓存数据,以释放更多内存空间。

2. 内存优化模式:根据您的使用习惯和需求,选择合适的内存管理模式。

例如,对于需要大量存储照片、视频等大文件的应用场景,可以选择“大文件优化”模式,以减少系统对内存的占用。

3. 后台进程限制:此功能有助于限制应用程序在后台运行的数量,以避免占用过多内存和资源。

4. 应用双开或多开:根据需要调整双开或多开功能,以实现同时运行多个应用程序。

但要确保不会造成内存占用过高的问题。

5. 定期清理缓存和垃圾文件:定期清理手机内的缓存和垃圾文件,以确保系统运行流畅。

三、常见问题及解决方案1. 问题:开启自动内存清理后,应用程序无法正常启动或运行缓慢怎么办?解决方案:请检查自动内存清理设置是否正确,确保没有误关闭必要的应用程序。

2. 问题:双开或多开功能导致应用程序之间数据或信息冲突怎么办?解决方案:请确保应用程序之间的数据和信息不会相互干扰,必要时可关闭其中一个应用程序。

3. 问题:内存设置不当导致手机出现卡顿或死机怎么办?解决方案:请定期备份手机数据,并重新进行内存设置,确保系统运行流畅。

四、总结通过本文档中的设置步骤和注意事项,您可以更好地优化Idea的内存管理,从而提升手机性能和电池寿命。

同时,保持一个良好的使用习惯,如定期清理缓存和垃圾文件、避免安装过多不必要的应用程序等,也是保持手机良好运行状态的关键。

如有任何疑问或问题,请参考官方论坛或客服支持获取帮助。

IntelliJIDEA学习(六)内存设置

IntelliJIDEA学习(六)内存设置

IntelliJIDEA学习(六)内存设置⼩伙伴们经常会发现,在开发的时候,经常遇到内存被占满,导致异常卡顿,有时候提⽰内存溢出,这时可以通过设置xmx来改善。

不过切记最好不要超过内存的1/4打开 IDEA 安装⽬录,看到有⼀个 bin ⽬录,其中有两个 vmoptions ⽂件,需针对不同的JDK进⾏配置:32 位:idea.exe.vmoptions64 位:idea64.exe.vmoptions1 -Xms512m2 -Xmx1024m3 -XX:MaxPermSize=512m4 -XX:ReservedCodeCacheSize=225m5 -XX:+UseConcMarkSweepGC6 -XX:SoftRefLRUPolicyMSPerMB=507 -ea8 eCanonCaches=false9 .preferIPv4Stack=true设置JVM内存的参数有四个:-Xmx Java Heap最⼤值,默认值为物理内存的1/4,最佳设值应该视物理内存⼤⼩及计算机内其他内存开销⽽定; ⽤来设置你的应⽤程序能够使⽤的最⼤内存数(看好,致使你的应⽤程序,不是整个jvm),如果你的程序要花很⼤内存的话,那就需要修改缺省的设置,-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值; ⽤它来设置程序初始化的时候内存栈的⼤⼩,增加这个值的话你的程序的启动性能会得到提⾼。

不过同样有前⾯的限制,以及受到xmx的限制。

-Xmn Java Heap Young区⼤⼩,不熟悉最好保留默认值;-Xss 每个线程的Stack⼤⼩,不熟悉最好保留默认值;-XX:PermSize 永久区的⼤⼩。

-XX:+UseParNewGC 使⽤并⾏收集算法。

idea.properties还有是idea.properties 可以修改⼀些配置,⽐如缓冲区设置到C盘外的其他盘下除了对idea启动的内存分配外,还有:1、你的C盘空闲是否⾜够,因为idea会在c盘你的⽤户⽬录下建⽴缓存。

IntelliJIDEA超全优化设置,效率杠杠的!

IntelliJIDEA超全优化设置,效率杠杠的!

IntelliJIDEA超全优化设置,效率杠杠的!管她前浪,还是后浪?能浪的浪,才是好浪!每天 8:55 更新⽂章,每天掉亿点点头发...源码精品专栏原创 | Java 2020 超神之路,很肝~中⽂详细注释的开源项⽬RPC 框架 Dubbo 源码解析⽹络应⽤框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库中间件 Sharding-JDBC 和 MyCAT 源码解析作业调度中间件 Elastic-Job 源码解析分布式事务中间件 TCC-Transaction 源码解析Eureka 和 Hystrix 源码解析Java 并发源码来源:/zeal9s/article/details/83544074显⽰⼯具条设置⿏标悬浮提⽰显⽰⽅法分隔符忽略⼤⼩写提⽰主题设置护眼主题设置⾃动介绍包单⾏显⽰多个标签设置字体配置类⽂档注释信息和⽅法注释模版...显⽰⼯具条(1)效果图(2)设置⽅法标注1:查看–>⼯具栏标注2:查看–>⼯具按钮设置⿏标悬浮提⽰(1)效果图(2)设置⽅法⽂件–>设置–>编辑器–>常规–>显⽰快速⽂档…显⽰⽅法分隔符(1)效果图(2)设置⽅法⽂件->设置->编辑器->外观->重新设置忽略⼤⼩写提⽰(1)效果图备注:idea的设置设置是严格区分⼤⼩写提⽰的,例如输⼊字符串不会提⽰字符串,不⽅便编码(2)设置⽅法⽂件–>设置–>编辑器–>常规->代码完成->主题设置(1)效果图备注:有⿊⽩两种风格(2)设置⽅法⽂件->设置->外观和⾏为->外观->护眼主题设置⾃动介绍包(1)效果图备注:有时情况是需要⼿动导⼊包的,例如我们需要导⼊地图类,那么需要⼿动导⼊,如果不需要使⽤了,删除了地图的实例,导⼊的包也需要⼿动删除,设置了这个功能这个就不需要⼿动了,⾃动帮你实现⾃动导⼊包和去包,不⽅便截图,效果请亲测〜(2)设置⽅法⽂件->设置->编辑器->常规->⾃动导⼊->单⾏显⽰多个标签(1)效果图默认是显⽰单排的选项卡:单⾏显⽰多个选项卡:(2)设置⽅法⽂件->设置->编辑器->常规->编辑器选项卡->去掉√设置字体(1)效果图备注:替换安装启动Idea字体很⼩,看着不习惯,需要调整字体⼤⼩与字体(有需要可以调整)(2)设置⽅法⽂件–>设置–>编辑器–>字体–>配置类⽂档注释信息和⽅法注释模版⽔平或者垂直显⽰代码(1)效果图备注:Eclipse如果需要对⽐代码,只需要重新设置Tabs即可,但是idea要设置(2)设置⽅法⿏标右击Tabs更换快捷键(1)效果图备注:从Eclipse移植到idea编码,好多快捷键替代,导致编写效率降低,现在我们来更换⼀下快捷键(2)设置⽅法⽅法⼀:File–> Setting–>例如设置成Eclipse的,设置好了之后可以ctrl + d删除单⾏代码(idea是ctrl + y)⽅法⼆:设置模板⽂件->设置->⽅法三:以ctrl + o重写⽅法为例注释去掉斜体(1)效果图(2)设置⽅法⽂件–>设置–>编辑器–>代码检测警告提⽰等级设置强烈建议,不要给关掉,不要嫌弃⿇烦,他的提⽰都是对你好,帮助你提⾼你的代码质量,很有帮助的项⽬⽬录相关–折叠空包窗⼝重置这个就是当你把窗户忽然间搞得乱七⼋糟的时候,还可以挽回,就是直接恢复⼀下,就好啦。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-gcutil - Summary of garbage collection statistics. S0: Survivor space 0 utilization as a percentage of the space's current capacity. S1: Survivor space 1 utilization as a percentage of the space's current capacity. E: Eden space utilization as a percentage of the space's current capacity. O: Old space utilization as a percentage of the space's current capacity. M: Metaspace utilization as a percentage of the space's current capacity. CCS: Compressed class space utilization as a percentage. YGC: Number of young generation GC events. YGCT: Young generation garbage collection time. FGC: Number of full GC events. FGCT: Full garbage collection time. GCT: Total garbage collection time.
第1页 共7页
9. 检查 jstat -gcutil 10. 返回大项目然后点击“ 刷新 Gradle 项目” 按钮(测试时间) 11. 检查 jstat -gcutil
jstat -gcutil
jstat 是 JDK 自带的工具,主要利用 JVM 内建的指令对 Java 应用程序的资源和性能进行实时的命令行监控,还包括对 Heap size 和垃圾回 收状况的监控。它有许多选项来收集各种数据(完整的文档),但这里只会用到: -gcutil :
正如上图所示,启动时间并不依赖于内存设置。 Idea 在所有场景下的测试时间都是10秒,无论内存分配有多少。这并不足为奇,因为在此早 期阶段,这些设置并不会影响到应用的行为。
加载大项目花费的时间
现在加载 Monolith 项目及其70万行代码。终于,出现了一些的差异。默认设置所花费的时间几乎是其它的3倍。很明显,如此庞大的代码库需 要更多的内存。如果我们执行:
测试场景
1. 在 Idea 中关闭所有项目 2. 基于测试文件 idea.vmoptions 进行设置 3. 重启电脑 4. 启动后关闭所有不相关的项目( communicators 等等) 5. 打开 Idea(测试时间) 6. 打开大项目(测试时间) 7. 检查 jstat -gcutil 8. 打开两个微服务项目(测试时间)
在IDEA中打开两个微服务
现在加载这两个微服务项目,在 IDEA 中打开并且对比他们所消耗的时间。
第4页 共7页
在这个测试用例下,差异还是非常明显的,复杂设置表现最佳,而默认设置仍旧输给了其他两种设置。
再次使用jstat –gcutil
加载完两个微服务项目后,来检查一下同时打开3个项目的情况下, GC 的表现情况。经测试发现,3个不同的自定义设置表现几乎差不多, 而默认设置简直弱爆了。
第5页 共7页
最后的角逐:重新加载Monolith
现在,笔者需要从仓库中获得 Monolith 项目的最新版本,并且刷新 Gradle 模块,这样, IDEA 能看到所有的新类。
重要提示:代表默认设置的灰色条形柱非常高,因为 IDEA 在刷新过程中崩溃了,笔者无法测量实际时间。显然,默认分配的内存不足以执行 该操作。 但从三个自定义例子中可以发现,大内存配置花费的时间是最短的。所以,内存分配还是起到了作用。
第7页 共7页
这个命令的输出结果如下:
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 89.70 0.00 81.26 74.27 95.68 91.76 40 2.444 14 0.715 3.159
在本文中,最重要的参数是 GC 事件( YGC 和 FGC )次数和收集时间( YGCT 和 FGCT )。
IntelliJ IDEA 内存优化最佳实践
【编者按】本文作者在和同事的一次讨论中发现,对 Inte lliJ IDEA 内存采用不同的设置方案,会对 IDE 的速度和响应能力产生不同的影响。
Don’t b e a Scrooge and give your IDE some more memory
不要做守财奴,给IDE多留点内存吧。
昨天,大家就是否自定义 IntelliJ IDEA 的内存设置进行了讨论,有些人选择默认设置,有些人会对默认的设置进行简单的变更,还有一些开发 者会基于他们的需求进行全面复杂的设置。笔者目前的工作是处理几个微服务项目和一个老项目,而客户的核心业务需求非常大。对 IntelliJ IDEA 内存进行简单设置以后,笔者明显感受到了该 IDE 在速度和响应方面的改善。但当时笔者并未进行具体的测量,所以这只是主观感受而 已。 不过,参与讨论的一位开发者给笔者发了一份他的设置,虽然是针对同个项目,该设置却极其复杂。笔者对自己的设置并无不满,但非常好 奇,这些完全不同的设置对比 JetBrains 提供的默认设置,会有怎样的不同。
最后一次使用jstat-gcutil
因为 IDEA 在默认设置下无法刷新项目,所以,这次测试默认设置就不包括在里面。
第6页 共7页
从上图可以看出,三者之间的差异不大,但是 Big 配置下的 Full GC 执行时间最快。此外, Xmx 内存大些对响应能力提升的帮助非常明显。
总结
在这次简短的实验中,大家可以发现,即使对 IntelliJ IDEA 内存进行微调,都可以大大提升 IDE 性能。当然,内存分配越多,执行效果就越 好。但是,你也会发现, IDE 之外许多其他应用程序也需要消耗内存,所以,大家的目标应该是在提高性能和内存消耗之间找到一个平衡。笔 者认为,在大多数情况下,把 Xmx 值设置在 2G 和 3G 之间是最佳的。如果你有更多的时间可以用 jstat 和 jvisualm 检查用不同的 JVM 设置 如何影响性能和内存占用。
jstat -gcutil <IDEA_PID>
会发现,对比其它设置, GC 在默认设置下会变得异常忙碌。
第3页 共7页
不仅 GC 释放内存的总时间非常高(几乎达到了50倍),而且 Full GC 的平均执行时间也非常非常长。大量的时间都花在了 Full GC 上面,这 是 IDE 响应速度低的主要原因。
Xmx 和 Xms 都分配 2GB ,这是相当平衡的内存消耗:
-Xms2g -Xmx2g -XX:ReservedCodeCacheSize=1024m -XX:+UseCompr(复杂的)(橘色标识)
和上面一样, Xmx 和 Xms 都分配2GB,但是给 GC 和内存管理指定不同的垃圾回收器和许多不同的标志:
测试设置
笔者设置了四种不同的设置,为了好记,给它们起了不同的名字。
默认(灰色标识)
JetBrains 提供的默认设置:
-Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops
-server -Xms2g -Xmx2g -XX:NewRatio=3 -Xss16m -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:ConcGCThreads=4 -XX:ReservedCodeCacheSize=240m -XX:+AlwaysPreTouch -XX:+TieredCompilation -XX:+UseCompressedOops -XX:SoftRefLRUPolicyMSPerMB=50 eCanonCaches=false .preferIPv4Stack=true -Djsse.enableSNIExtension=false -ea
以上便是笔者的测试设置,为了执行该测试用例,还需要在~/Library/Pref erences/IntelliJIdea15/下创建一个idea.vmoptions 文件(这是 Mac OS 系统下的路径设置,查看这篇文章,基于你的操作系统进行设置) 现在,执行测试用例并比较结果。
结果
Idea启动时间
Big(大)(红色标识)
给 Xmx 配 4096MB, ReservedCodeCacheSize 设置 1024MB,这已经是相当多的内存了:
-Xms1024m -Xmx4096m -XX:ReservedCodeCacheSize=1024m -XX:+UseCompressedOops
Balanced(平衡的)(蓝色标识)
讨论
你的 idea.vmoptions 是如何配置的呢?你还有其它提高 InteliJ IDEA 性能的方法吗?不妨一起讨论讨论吧。 (编译自:https:///articles/the-one-and-only-reason-to-customize-intellij-idea )
目标
笔者的计划是,在一个接近日常开发项目的场景下(加载一个大项目、加载2、3个微服务、git pull 后刷新大项目),测试各个设置带来的效 果,并选出内存消耗和速度都达到最优时的最佳设置。
测试机器和项目
笔记本电脑:MacBook Pro Retina, 2.3GHz Intel Core i7, 16GB 1600Mhz DDR3,SSD Disc, OS X Yosemite 项目 大项目—— Monolith ,70万行代码( Java 8 和 Groovy ),303个Gradle模块 两个微服务—— 约有10000——20000行代码( Java 8 和 Groovy )的小项目,各有一个Gradle模块
相关文档
最新文档