自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

給Eclipse提速的7個技巧

開發(fā) 后端 開發(fā)工具
大約一個月前,我發(fā)表了一篇博客,其中介紹了對Eclipse的愛與恨。 有些人問我如何給Eclipse提速,這篇文章就來討論這個問題。順帶提一下,這篇文章不是比較IDE,所以不要說你討厭某個IDE而選擇另外一個。這篇文章只是關注如何讓Eclipse運行得更快。每個技巧都針對Windows、Linux和MacOS用戶詳細說明。在使用所有優(yōu)化技巧之后,Eclipse應該能在10秒內(nèi)啟動,并且比以前運行得更流暢。

大約一個月前,我發(fā)表了一篇博客,其中介紹了對Eclipse的愛與恨。 有些人問我如何給Eclipse提速,這篇文章就來討論這個問題。順帶提一下,這篇文章不是比較IDE,所以不要說你討厭某個IDE而選擇另外一個。這篇文章只是關注如何讓Eclipse運行得更快。每個技巧都針對Windows、Linux和MacOS用戶詳細說明。在使用所有優(yōu)化技巧之后,Eclipse應該能在10秒內(nèi)啟動,并且比以前運行得更流暢。

這些技巧不僅僅縮短了Eclipse的啟動時間,其中大部分技巧還改善了用戶體驗。例如,更快地打開類、從一處定義跳到另外一處、查看javadoc等。但這些提速無法用時間精確的測量,所以對每條技巧帶來的提速效果也沒有特定的基準。

提示:假設你已經(jīng)裝了固態(tài)硬盤,并且有至少8Gb的內(nèi)存。如果沒有的話,帶來的性能提升可能不大。

技巧一:運行***版本的JDK和Eclipse

通常,新版本的JDK和Eclipse都會有性能上的優(yōu)化。請確保你使用的是64位Eclipse并且使用了Oracle的JDK。對于網(wǎng)絡開發(fā),需要使用Eclipse for Java EE而不是Eclipse for Java。

將Eclipse和workspace放在固態(tài)硬盤上。啟動Eclipse吧。

技巧二:調(diào)整Eclipse的Preferences

  • General > Startup and Shutdown : 移除所有在啟動時加載的插件。
  • General > Editors > Text Editors > Spelling : 關閉拼寫檢查。
  • General > Validation > 勾選“Suspend all validator”。
  • Window > Customize Perspective > 移除所有用不到或不想用的內(nèi)容(盡量使用快捷鍵),菜單欄也是如此(你用過幾次菜單欄的打印按鈕?)。
  • Install/Update > Automatic Updates > 取消勾選“Automatically find new updates and notify me”。
  • General > Appearance > 取消勾選“Enable Animations”。
  • 使用默認的主題。其他主題可能會降低運行速度。

我自己還關閉了自動提示,這樣在輸入代碼時不會拖累我。替代方案是使用Ctrl+Space在需要的使用手動提示??梢酝ㄟ^下面的配置來完成:(譯者注:Ctrl+Space?中國人不會答應的)。

Java > Editor > Content Assist > 禁用“Enable Auto Activation”。在Advanced中移除所有不需要的內(nèi)容(在Eclipse 4.2.2中沒找到)。

技巧3:將JDK放在內(nèi)存盤(RAM Disk)上

內(nèi)存盤是將計算機內(nèi)存的作為虛擬磁盤或硬盤使用。用來加速位于其中的軟件的IO性能。內(nèi)存中創(chuàng)建的RAM盤就像是計算機上的一塊硬盤。由于這些內(nèi)存當作硬盤使用,所以其他程序就不能使用這些內(nèi)存空間。我們只是將JDK放到那里,300MB就足夠了。

警告:不要將任何內(nèi)容***性的放到內(nèi)存盤中,每次重啟時,里面的內(nèi)容都會消失并重新創(chuàng)建。

對于Linux用戶:

這個鏈接中有詳細的描述。

對于Mac用戶:

使用diskutil工具創(chuàng)建內(nèi)存盤

1. 創(chuàng)建一個新的腳本,例如:~/tools/batch/ramdisk.sh
將其中的x、y、z替換為你的JDK版本:

  1. #!/bin/bash 
  2. diskutil erasevolume HFS+ 'JDK RAMDISK' `hdiutil attach -nomount ram://614400` 
  3. cp -r /Library/Java/JavaVirtualMachines/jdk1.x.y_z.jdk /Volumes/JDKRAMDISK 

(注意:diskutil期望的參數(shù)是512字節(jié)扇區(qū)的整數(shù)倍:對于300MB,應該是300 * 1024 ^ 2 / 512 = 614400)

2. 保存腳本,將其改為可執(zhí)行模式:

  1. chmod 755 ~/tools/batch/ramdisk.sh 

運行ramdisk.sh將創(chuàng)建內(nèi)存盤:

  1. $ ramdisk.sh 
  2. Started erase on disk4 
  3. Unmounting disk 
  4. Erasing 
  5. Initialized /dev/rdisk4 as a 300 MB case-insensitive HFS Plus volume 
  6. Mounting disk 
  7. Finished erase on disk4 JDKRAMDISK 

現(xiàn)在用Finder應該能發(fā)現(xiàn)一個名為JDKRAMDISK的新設備,其中含有的就是JDK。點擊“彈出”按鈕可以移除RAM Disk并釋放相應的內(nèi)存。

如果想使用這個技巧,那么每次啟動Eclipse都需要有這個內(nèi)存盤,不然會看到“A Java Runtime … must be available in order to run Eclipse”錯誤??梢耘渲孟到y(tǒng),用Automator或一個unchtl守護程序確保每次啟動時會自動執(zhí)行ramdisk.sh腳本。

對于Windows用戶:

1. 下載并安裝名為imdisk的工具

2. 創(chuàng)建一個新的批處理文件,如:C:/tools/batch/ramdisk.bat
將其中的x、y、z替換為你的JDK版本號:

  1. @echo Placing JDK on Virtual Disk N:/ 
  2. @echo off 
  3. sc config imdisk startauto 
  4. net start imdisk 
  5. imdisk -a -t vm -s 300m -m n: 
  6. format n: /q /Y 
  7. call xcopy C:<path_jdk>jdk1.x.y_z N:jdk1.x.y_z /S /E /Y /Q 
  8. label n: JDK RAMDISK 

運行ramdisk.bat后,將看到創(chuàng)建了一個名為“JDK RAMDISK”的新磁盤N,其中含有的就是JDK。

3. 確保文件以管理員模式運行。右擊文件,選擇“屬性——兼容性——勾選“以管理員身份運行此程序”。

如果想使用這個技巧,那么每次啟動Eclipse都需要有這個內(nèi)存盤,不然會看到“A Java Runtime … must be available in order to run Eclipse”錯誤??梢耘渲孟到y(tǒng),將ramdisk.bat腳本放到啟動文件夾中。

為了讓技巧3能夠工作,需要在eclipse.ini文件中添加-vm設置(詳見下一節(jié))。

技巧4:調(diào)整你的eclipse.ini

在Eclipse的優(yōu)化中,這是最令人困惑的地方。網(wǎng)上有海量的文章介紹不同的配置方案。我只是介紹我自己的配置方案。

找到你的eclipse.ini文件:

  • Windows/Linux:位于$ECLIPSE_HOME(譯者注:$ECLIPSE_HOME是Eclipse的路徑,這里假設Linux下也是自行安裝,而不是通過源安裝)
  • MacOS:位于$ECLIPSE_HOME/Eclipse.app/Contents/MacOS

明白接下來的工作的含義……

eclipse.ini中有兩種類型的屬性:與Eclipse應用相關的屬性;與JVM相關的屬性。這些選項具體取決于JDK和Eclipse的版本。下面的是我在網(wǎng)上找到的***的列表。

要理解這些屬性,首先要了解Oracle JVM的內(nèi)存布局。一般來說,JVM內(nèi)存分成幾個內(nèi)存池,對象根據(jù)不同存在時間位于不同的內(nèi)存池中。

  • Eden空間(堆)是用于許多剛創(chuàng)建的對象。垃圾收集器每趟一般都是在這里處理”新代的“對象,并移除所有不再使用的對象。
  • Survivor空間(堆)含有那些在Eden空間中GC兩三趟都沒有銷毀的對象。這些對象依然屬于新生代,但將其移動到更安全的地方,被收集的風險大大降低。垃圾收集器在這里運行的頻率要低很多(GC根據(jù)以往的經(jīng)驗來判斷這里的對象都是經(jīng)常使用的)。
  • Tenured空間(堆)含有在Survior空間存活相當一段時間的對象。
  • 永生代(非堆)含有JVM的元數(shù)據(jù),如類屬性、方法、枚舉等。由于這些數(shù)據(jù)可以在多個JVM間共享。所以永生代分只讀和讀寫兩個區(qū)域。
  • 代碼緩存(非堆)提供了用于編譯并存儲代碼的內(nèi)存空間。

如果你對此感興趣,Oracle含有一篇很不錯的關于配置垃圾收集的文章,其中詳細介紹了所有這些空間的用途。

在eclipse.ini中,可以控制每個內(nèi)存池的大小。下面的配置是針對我的16G內(nèi)存設定的,但也可用于8G的內(nèi)存。

使用位于RAM Disk中的JDK(使用在步驟三中的版本號):

  1. -vm /Volumes/JDKRAMDISK/jdk1.x.y_z.jdk/Contents/Home/ 
  1. -vm N:/jdk1.x.y_z/bin 

禁用字節(jié)碼驗證(有風險)

這是跳過了class文件的驗證(class文件的驗證的信息參見這里),意味著JVM不會檢測使用的class文件。如果使用的class文件被修改過,會有安全風險。自己承擔風險(我僅僅是玩的時候用,不會在工作中啟用這個選項)。

打開編譯器性能優(yōu)化

  1. -XX:+AggressiveOpts 

增加永生代空間(分配新對象的地方)(譯者注:在JDK 8中,取消了永生代)

  1. -XX:PermSize=512m 
  2. -XX:MaxPermSize=512m 

增加最小***堆的空間(含有新生代和年老代)

  1. -Xms2048m 
  2. -Xmx2048m 

為新生代增加堆的大小

  1. -Xmn512m 

為每個線程設置棧大小

  1. -Xss2m 

調(diào)整垃圾收集

  1. -XX:+UseParallelOldGC 

***,這里列出其他可能在網(wǎng)上看到的選項。就我個人而言,這些選項都沒有加速效果,所以僅僅是用來參考。讀者可以在網(wǎng)上找到相應的文檔,來了解并使用對應的選項:

  1. -XX:MaxGCPauseMillis=10 
  2. -XX:+UseG1GC 
  3. -XX:CompileThreshold=5 
  4. -XX:MaxGCPauseMillis=10 
  5. -XX:MaxHeapFreeRatio=70 
  6. -XX:+CMSIncrementalPacing 
  7. -XX:+UseFastAccessorMethods 
  8. -server 

***,移除所有重復的選項,包括launcher.XXMaxPermSize,因為啟用了XX:MaxPermSize選項后,這個選項就沒用了。

技巧5:關閉殺毒軟件

如果有殺毒軟件,要確保這些軟件不會檢查代碼文件夾。將JDK、Eclipse、你的.m2/jar代碼庫和代碼文件夾添加到殺毒軟件的白名單。

技巧6:不要在Eclipse中運行SVN和GIT

這是個人偏好。有些人喜歡將Eclipse與團隊協(xié)同工具結(jié)合起來。就我個人而言,這樣速度很慢,我寧愿Eclipse專注于開發(fā)工作,而不是同時做許多事。我還非常喜歡SVN/GIT命令行。不管怎么說,我把這些工具從Eclipse中移除,發(fā)現(xiàn)響應速度更快了。

技巧7:使用鍵盤

Eclipse的一個有點是其中含有大量快捷鍵。讀者可以自行設置相關快捷鍵。一般我會重新設置調(diào)試鍵,這樣就和Visual Studio & Chrome Dev Env的行為相同了?;c時間去學習快捷鍵。用的快捷鍵越多,使用Eclipse的體驗就越快。

這里不會深入介紹快捷鍵,讀者可以很容易的在網(wǎng)上找到相關資料。下面列出一些必備的快捷鍵:

  1. Ctrl+Shift+R : jump to resource 
  2. Ctrl+Shift+T : jump to class 
  3. Ctrl+. : jump to next error 
  4. Ctrl+Shift+G : search for references 
  5. Ctrl+Shift+P : select matching bracket 
  6. Alt+Arrows : go forward / backwards 
  7. Ctrl+Space : autocomplete 
  8. Ctrl+Shift+F : format source 
  9. Ctrl+Shift+O : organize imports 
  10. Ctrl+D : delete line 
  11. …… 

差不多就是這些了。這里沒有將Eclipse與其他IDE進行對比,我認為Eclipse是非常強大且快速的Java代碼編輯工具。

如果你有其他技巧,請告訴我。

原文鏈接: nicolasbize 翻譯: ImportNew.com 孫 波翔

譯文鏈接: http://www.importnew.com/13942.html

 

 

責任編輯:張偉 來源: importnew
相關推薦

2021-05-07 16:02:54

Python代碼優(yōu)化

2021-06-16 10:50:16

Python代碼優(yōu)化

2021-09-06 10:25:27

Python代碼優(yōu)化

2013-04-10 09:46:29

EclipseJava

2009-09-03 11:23:54

Eclipse技巧

2017-11-06 13:25:25

MySQL數(shù)據(jù)庫技巧

2020-04-13 09:55:45

CIOIT預算首席信息官

2010-05-24 14:06:31

JavaScript

2012-02-13 13:44:46

JavaScript

2021-05-11 12:30:21

PyTorch代碼Python

2018-08-10 14:57:03

UnixMySQL命令

2017-03-07 14:26:19

Eclipse技巧效率

2021-04-20 20:36:14

Git家目錄Linux

2020-03-30 17:38:02

云計算云遷移IT

2020-03-25 08:00:32

Kubernetes節(jié)點工作

2024-04-29 06:50:45

Python代碼運行

2009-06-18 15:33:40

2009-10-27 09:09:06

Eclipse技巧

2011-08-10 18:13:22

windows7技巧

2020-03-04 10:33:15

云計算IT云原生
點贊
收藏

51CTO技術棧公眾號