NetBeans優化技巧 提升啟動速度
NetBeans優化的目的是提高NetBeans的啟動速度和運行速度。下面介紹的NetBeans優化技巧是在版本6.0beta2上的優化。經過實驗,大大提高了NetBeans的啟動速度.
1,修改英文netbeans界面字體大小,修改%Netbeans_home%\etc\netbeans.conf
在netbeans_default_options里加上 –fontsize 13
2,修改JVM內存配置(本機內存1G,不同內存大小不同設置)
在netbeans_default_options里加上 -J-Xmx512m,同時修改-J-Xms256m。
【說明】-J-Xms32m
此設置用于通知 Java 虛擬機將其初始堆大小設置為 32 MB。通過通知 JVM 它最初應該為堆分配多少內存,我們可以防止它隨著 IDE 使用更多的內存而將堆增大。
【說明】-J-Xmx128m
此設置用于指定 Java 虛擬機應該用于堆的***內存。對此數值設置硬性上限意味著 Java 進程不能使用比可用的物理 RAM 更多的內存。對于具有更多內存的系統可以提升此限制 – 128 MB 設置有助于確保 IDE 在 256MB 的系統上可靠地執行操作。注意:不要將此值設置為接近或大于系統中的物理 RAM 數,否則在主要回收過程中將導致頻繁的交換空間操作。
3,在netbeans_default_options里修改 -J-XX:PermSize=20m
這是一個較特殊的 JVM 開關,但它也縮短了啟動時間。此設置用于調整內存中“***區域”(在這里保存類)的大小。由于我們知道所有 IDE 類均占用特定數量的內存,因此我們向 JVM 提示它將需要的內存數量。此設置消除了許多系統上啟動過程中的主要垃圾回收事件。SunONE Studio 或包括更多模塊的其他 IDE 的用戶可能希望將此數值設置得更高些。
4,在netbeans_default_options里加上-J-Xverify:none
此開關用于關閉 Java 字節碼驗證,從而加快類加載,以及消除在啟動過程中僅為驗證目的而加載類的需要。此開關將顯著縮短啟動時間。
5,在Tools-Plugins-installed里面把不需要的模塊去掉
我這里去掉了 Glashfish;JSF;CVS;Subversion等。速度就得到很大提高了。當然如果你的開發需要這些模塊就不需要去掉了。
6,修改編輯器配置
把所有的Javadoc自動彈出窗口去掉,把所有自動完成延時設置為0,把所有自動完成大小寫敏感去掉。
注:在netbeans6的JAVA代碼編輯器設置里面默認沒有設置代碼自動完成的延時設置了。可以自己手動加入到配置文件C:\Documents and Settings\%USER_NAME%\.netbeans\6.0beta2\config\Editors\text\x-java下的 properties.xml,加入
【說明】 preperties.xml文件默認不存在,只有在你修改了編輯器配置以后才會出現這個文件。
根據經驗,Xmx應設為物理內存的一半,初始堆大小Xms是Xmx的1/2,比如1G內存的機器,Xms256m, Xmx512m
Netbeans5.5.1默認的PermSize是160m,如果在開發中經常遇到 java.lang.OutOfMemoryError: PermGen space的異常,可以將此PermSize設大一些。
下面列出了一些其他的 JVM 開關,在一些系統(而不是所有系統)上,這些開關會或多或少地影響 NetBeans 性能。盡管使用它們會產生一定的影響,但仍值得一試。
* -J-XX:CompileThreshold=100
此開關將會延長啟動時間,原因是:與不使用此開關的情況相比,HotSpot JVM 會以更快的速度將更多的方法編譯到本地代碼中。其結果是提高了IDE 運行時的性能,這是因為更多的 UI 代碼將被編譯而不是被解釋。此值表示在編譯一個方法之前必須調用它的次數。
* -J-XX:+UseConcMarkSweepGC -J-XX:+UseParNewGC
如果出現垃圾回收意外中斷的問題,則請嘗試使用這些開關。此開關導致 JVM 對主要垃圾回收事件(如果在多處理器工作站上運行,則也適用于次要回收事件)使用不同的算法,這些算法不會影響整個垃圾回收進程。如果使用了 PermSize 開關,則還應向 netbeans.conf 文件中添加行 -J-XX:+CMSClassUnloadingEnabled,以便啟用類卸載(使用此回收器時,缺省情況下不啟用類卸載)。注意:目前尚不確定此回收器是提高還是降低單處理器計算機的性能。
* -J-XX:+UseParallelGC
某些測試表明,至少在內存配置相當好的單處理器系統中,使用此回收算法可以將次要垃圾回收的持續時間減少一半。請注意,這是一個矛盾的問題 – 事實上此回收器主要適用于具有千兆字節堆的多處理器系統。尚無可用數據表明它對主要垃圾回收的影響。注意:此回收器與 -J-XX:+UseConcMarkSweepGC 是互斥的。可以在性能 Web 站點上找到支持使用此算法的度量數據。
* -J-XX:+UseConcMarkSweepGC-J-XX:+CMSClassUnloadingEnabled-J-XX:+CMSPermGenSweepingEnabled,是優化垃圾回收的
越來越覺得netbeans用著隨手,但最近老是假死,所以找了這篇文章對NetBeans優化了下,沒想到效果很明顯。嘿嘿,如果你的netbeans也很慢點話,不妨一試。
【相關閱讀】