有幸读了周志明的深入Java虚拟机一书,书中有一个实例是对eclipse进行优化,但是我用的是idea啊(ˉ▽ˉ;)…,不过其实问题不大,因为原理是相通的,下面正式开始优化
准备工作中遇到的问题其实也不少
- 第一,我们要先确认idea本体是Java编写的,不然人家根本没有虚拟机怎么优化,不过这个简单,运行idea,发现idea进程下确实有一个java虚拟机,打开idea的文件夹,一堆的Jar包,应该就是java写的了
- 第二,因为我使用的是jdk9,并没有深入java虚拟机中提到的jvisualvm工具,查阅资料后得知,jdk9开始,Java不再默认提供jvisualvm,找到官网,发现jvisualvm目前只提供苹果版和二进制编译版,无奈之下我下载了一个jdk8,将jvisualvm提取出来
- 第三,如何给idea添加jvm参数,查找后发现可以在idea64.exe.vmoptions修改
下面正式开始
-Xms128m
-Xmx512m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow