固然 卡顿,能有条件,尽可能增强电脑的配置了,好比 固态硬盘 和 加内存条java
eclipse 若是启动慢,还能够接收。 但是若是是 保存的时候卡顿, 有时候会 卡顿 3秒-5 秒的,感受到写代码特别的不畅,这怎么玩?web
个人eclipse就是 保存的时候卡顿。 其实项目也不大,就是文件多,目录结构多而已。服务器
另外一个项目, 使用 eclipse ,不须要配置什么的,保存一点都不卡顿。app
能够参考网上 网友的 解决方案eclipse
http://baijiahao.baidu.com/s?id=1563222228113375&wfr=spider&for=pcide
但是我试过了, 最多能够提升 eclipse 启动的速度,编译速度,但是保存仍是会 卡顿的。性能
不少方案都说只须要 在 eclipse.ini 的 配置 -Xms , -Xmx 便可。 我配置了 但是发现仍是不行的。优化
-Xms512m -Xmx2048m
恰好看了一下 《深刻理解JAVA虚拟机》里面有一个例子是 调优 eclipse卡的问题的。ui
加入了 -XX:MaxPermSize 发现解决了 这个问题, 若是不加入 发现保存就卡了。 书上说是 默认的 MaxPermSize 过小了或者是 该eclipse 不认识 MaxPermSize ,忽略掉了 加上去便可。spa
非堆内存分配 JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。(还有一说:MaxPermSize缺省值和-server -client选项相关, -server选项下默认MaxPermSize为64m,-client选项下默认MaxPermSize为32m。这个我没有实验。) 上面错误信息中的PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。尚未弄明白PermGen space是属于非堆内存,仍是就是非堆内存,但至少是属于了。 XX:MaxPermSize设置太小会致使java.lang.OutOfMemoryError: PermGen space 就是内存益出。 说说为何会内存益出: (1)这一部份内存用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不一样。 (2)GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,因此若是你的APP会LOAD不少CLASS 的话,就极可能出现PermGen space错误。 这种错误常见在web服务器对JSP进行pre compile的时候。
设置永久代最大容量 -XX:MaxPermSize=768M
下面是个人 eclipse.ini 配置文件,你们尽可能使用 新版本 jdk 和 eclipse了
-startup plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.500.v20170531-1133 -product org.eclipse.epp.package.jee.product -showsplash org.eclipse.epp.package.common --launcher.defaultAction openFile --launcher.defaultAction openFile --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.8 -Dosgi.instance.area.default=@user.home/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication -Dosgi.requiredJavaVersion=1.8 -Xms512m -Xmx2048m -XX:MaxPermSize=768M
或者 按照 上说的
-Xms2048m -Xmx2048m -XX:PermSize=1024M -XX:MaxPermSize=1024M -Xverify:none 由上述分析能够得出结论: Eclipse启动时, Full GC大多数是因为老年代容量扩展而致使的, 由永久代空间扩展而致使的也有一部分。 为了避 免这些扩展所带来的性能浪费, 咱们能够把-Xms 和-XX: PermSize参数值设置为-Xmx和-XX: MaxPermSize参数值同样, 这样就强制虚拟机在 启动的时候就把老年代和永久代的容量固定下 来, 避免运行时自动扩展。 Eclipse使用者甚多, 它的 编译代码咱们能够认为是可靠的, 不须要在加载 的时候再进行字节码验证, 所以经过参数- Xverify: none禁止掉字节码验证过程也可做为一 项优化措施。 加
固然了 在设置上面以前请确保您的项目,设置了忽略 校验的设置,和 忽略 编译校验的 设置
。这两个设置比设置 eclipse的ini 配置文件还要重要。
设置方式 右键项目-- propertise -- builder 配置和 validate 配置
好比个人
若是 是在没办法,保存卡顿,其实主要是保存的时候 会编译项目 ,卡住了。
那么咱们就能够关掉 自动编译 功能
关掉方法: project --> Build Automatically