固然 卡頓,能有條件,儘可能增強電腦的配置了,好比 固態硬盤 和 加內存條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