給Eclipse提速的7個(gè)技巧分別是什么

給Eclipse提速的7個(gè)技巧分別是什么,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有永安免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

有些人問(wèn)我如何給Eclipse提速,這篇文章就來(lái)討論這個(gè)問(wèn)題。順帶提一下,這篇文章不是比較IDE,所以不要說(shuō)你討厭某個(gè)IDE而選擇另外一個(gè)。這篇文章只是關(guān)注如何讓Eclipse運(yùn)行得更快。每個(gè)技巧都針對(duì)Windows、Linux和MacOS用戶詳細(xì)說(shuō)明。在使用所有優(yōu)化技巧之后,Eclipse應(yīng)該能在10秒內(nèi)啟動(dòng),并且比以前運(yùn)行得更流暢。

這些技巧不僅僅縮短了Eclipse的啟動(dòng)時(shí)間,其中大部分技巧還改善了用戶體驗(yàn)。例如,更快地打開類、從一處定義跳到另外一處、查看javadoc等。但這些提速無(wú)法用時(shí)間精確的測(cè)量,所以對(duì)每條技巧帶來(lái)的提速效果也沒(méi)有特定的基準(zhǔn)。

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

技巧一:運(yùn)行***版本的JDK和Eclipse

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

  • Oracle JDK : http://www.oracle.com/technetwork/java/javase/downloads

  • Eclipse : https://eclipse.org/downloads/

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

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

  • General > Startup and Shutdown : 移除所有在啟動(dòng)時(shí)加載的插件。

  • General > Editors > Text Editors > Spelling : 關(guān)閉拼寫檢查。

  • General > Validation > 勾選“Suspend all validator”。

  • Window > Customize Perspective > 移除所有用不到或不想用的內(nèi)容(盡量使用快捷鍵),菜單欄也是如此(你用過(guò)幾次菜單欄的打印按鈕?)。

  • Install/Update > Automatic Updates > 取消勾選“Automatically find new updates and notify me”。

  • General > Appearance > 取消勾選“Enable Animations”。

  • 使用默認(rèn)的主題。其他主題可能會(huì)降低運(yùn)行速度。

我自己還關(guān)閉了自動(dòng)提示,這樣在輸入代碼時(shí)不會(huì)拖累我。替代方案是使用Ctrl+Space在需要的使用手動(dòng)提示??梢酝ㄟ^(guò)下面的配置來(lái)完成:(譯者注:Ctrl+Space?中國(guó)人不會(huì)答應(yīng)的)。

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

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

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

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

對(duì)于Linux用戶:

這個(gè)鏈接中有詳細(xì)的描述。

對(duì)于Mac用戶:

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

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

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

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

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

chmod 755 ~/tools/batch/ramdisk.sh

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

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

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

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

對(duì)于Windows用戶:

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

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

@echo Placing JDK on Virtual Disk N:/ @echo off sc config imdisk start= auto net start imdisk imdisk -a -t vm -s 300m -m n: format n: /q /Y call xcopy C:<path_jdk>jdk1.x.y_z N:jdk1.x.y_z /S /E /Y /Q label n: JDK RAMDISK

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

3. 確保文件以管理員模式運(yùn)行。右擊文件,選擇“屬性&mdash;&mdash;兼容性&mdash;&mdash;勾選“以管理員身份運(yùn)行此程序”。

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

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

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

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

找到你的eclipse.ini文件:

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

  • MacOS:位于$ECLIPSE_HOME/Eclipse.app/Contents/MacOS

明白接下來(lái)的工作的含義&hellip;&hellip;

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

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

  • Eden空間(堆)是用于許多剛創(chuàng)建的對(duì)象。垃圾收集器每趟一般都是在這里處理”新代的“對(duì)象,并移除所有不再使用的對(duì)象。

  • Survivor空間(堆)含有那些在Eden空間中GC兩三趟都沒(méi)有銷毀的對(duì)象。這些對(duì)象依然屬于新生代,但將其移動(dòng)到更安全的地方,被收集的風(fēng)險(xiǎn)大大降低。垃圾收集器在這里運(yùn)行的頻率要低很多(GC根據(jù)以往的經(jīng)驗(yàn)來(lái)判斷這里的對(duì)象都是經(jīng)常使用的)。

  • Tenured空間(堆)含有在Survior空間存活相當(dāng)一段時(shí)間的對(duì)象。

  • 永生代(非堆)含有JVM的元數(shù)據(jù),如類屬性、方法、枚舉等。由于這些數(shù)據(jù)可以在多個(gè)JVM間共享。所以永生代分只讀和讀寫兩個(gè)區(qū)域。

  • 代碼緩存(非堆)提供了用于編譯并存儲(chǔ)代碼的內(nèi)存空間。

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

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

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

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

禁用字節(jié)碼驗(yàn)證(有風(fēng)險(xiǎn))

這是跳過(guò)了class文件的驗(yàn)證(class文件的驗(yàn)證的信息參見這里),意味著JVM不會(huì)檢測(cè)使用的class文件。如果使用的class文件被修改過(guò),會(huì)有安全風(fēng)險(xiǎn)。自己承擔(dān)風(fēng)險(xiǎn)(我僅僅是玩的時(shí)候用,不會(huì)在工作中啟用這個(gè)選項(xiàng))。

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

-XX:+AggressiveOpts

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

-XX:PermSize=512m -XX:MaxPermSize=512m

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

-Xms2048m -Xmx2048m

為新生代增加堆的大小

-Xmn512m

為每個(gè)線程設(shè)置棧大小

-Xss2m

調(diào)整垃圾收集

-XX:+UseParallelOldGC

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

-XX:MaxGCPauseMillis=10 -XX:+UseG1GC -XX:CompileThreshold=5 -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+CMSIncrementalPacing -XX:+UseFastAccessorMethods -server

***,移除所有重復(fù)的選項(xiàng),包括launcher.XXMaxPermSize,因?yàn)閱⒂昧薠X:MaxPermSize選項(xiàng)后,這個(gè)選項(xiàng)就沒(méi)用了。

技巧5:關(guān)閉殺毒軟件

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

技巧6:不要在Eclipse中運(yùn)行SVN和GIT

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

技巧7:使用鍵盤

Eclipse的一個(gè)有點(diǎn)是其中含有大量快捷鍵。讀者可以自行設(shè)置相關(guān)快捷鍵。一般我會(huì)重新設(shè)置調(diào)試鍵,這樣就和Visual Studio & Chrome Dev Env的行為相同了。花點(diǎn)時(shí)間去學(xué)習(xí)快捷鍵。用的快捷鍵越多,使用Eclipse的體驗(yàn)就越快。

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

Ctrl+Shift+R : jump to resource Ctrl+Shift+T : jump to class Ctrl+. : jump to next error Ctrl+Shift+G : search for references Ctrl+Shift+P : select matching bracket Alt+Arrows : go forward / backwards Ctrl+Space : autocomplete Ctrl+Shift+F : format source Ctrl+Shift+O : organize imports Ctrl+D : delete line &hellip;&hellip;

差不多就是這些了。這里沒(méi)有將Eclipse與其他IDE進(jìn)行對(duì)比,我認(rèn)為Eclipse是非常強(qiáng)大且快速的Java代碼編輯工具。

看完上述內(nèi)容,你們掌握給Eclipse提速的7個(gè)技巧分別是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前題目:給Eclipse提速的7個(gè)技巧分別是什么
網(wǎng)站路徑:http://bm7419.com/article20/gejsco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、軟件開發(fā)App開發(fā)、靜態(tài)網(wǎng)站、用戶體驗(yàn)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)