posts - 7,comments - 5,trackbacks - 0
          如果您用eclipse開發(fā)代碼,但是eclipse響應(yīng)很慢,甚至有些時候你切換一個java代碼文件或者動了一下eclipse,就要等待一段時間(有點嚴(yán)重到20多秒以上),類似卡住了的感覺(我的內(nèi)存是1G的,磁盤空閑空間多,而且只開了一個eclipse應(yīng)用,速度也不會有改善。),那么我這個方法可以幫助你解決這個問題:

          使用下面的命令行啟動eclipse: 

          eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M -Xms64M -Xmx512M

          如果通過快捷方式啟動eclipse,這樣操作:“右鍵->屬性->目標(biāo)(輸入框)”,參照上面的命令行在輸入框中修改其中的命令行。

          myEclipse也可以參照這樣使用。

          通常有用的開關(guān)


          以下設(shè)置在大多數(shù)系統(tǒng)應(yīng)該產(chǎn)生比出廠設(shè)置更好的性能。

          • -Xverify:none - 該開關(guān)禁用 Java 字節(jié)代碼驗證,從而使加載更快,并且在啟動過程中不需要加載類,僅用于驗證。該開關(guān)縮短了啟動時間,因此,沒有理由不使用它。
          • -vmargs - 表示將后面的所有參數(shù)直接傳遞到所指示的 Java VM。 
          • -Xms32m - 該設(shè)置告訴 Java 虛擬機將它的初始堆大小設(shè)置為 32 兆字節(jié)。通過告訴 JVM 最初應(yīng)該為堆分配多少內(nèi)存。
          • -Xmx256m - 該設(shè)置告訴 Java 虛擬機它應(yīng)該為該堆使用的最大內(nèi)存數(shù)量。對該數(shù)量進行強硬的上限限制意味著 Java 進程占用的內(nèi)存比可用的物理 RAM 少。對于具有較多內(nèi)存的系統(tǒng)可以提高該顯示。當(dāng)前默認(rèn)值為 128MB。注意: 不要將該值設(shè)置為接近或大于您系統(tǒng)中物理 RAM 的量,否則它將造成運行時期間嚴(yán)格的交換。
          •  -XX:PermSize=20m - 此 JVM 開關(guān)不僅功能更為強大,而且能夠縮短啟動時間。該設(shè)置用于調(diào)整內(nèi)存"永久區(qū)域"(類保存在該區(qū)域中)的大小。因此我們向 JVM 提示它將需要的內(nèi)存量。該設(shè)置消除了許多系統(tǒng)啟動過程中的主要垃圾收集事件。 

          更多吸引人的開關(guān)

          • -XX:+UseConcMarkSweepGC-XX:+UseParNewGC - 如果您遇到入侵垃圾收集暫停的問題,則嘗試這些開關(guān)。該開關(guān)使 JVM 對主要的垃圾收集事件(也對于次要的收集,如果運行在多處理器的工作站上)使用不同的算法,一些算法并不停止整個垃圾收集進程。
          • -XX:+UseAdaptiveSizePolicy - 該開關(guān)可能有助于提高垃圾收集器吞吐量并減少內(nèi)存占用。在 JDK5.0 中實現(xiàn)的 garbage collector ergonomics 的一部分。
          • -XX:+UseParallelGC - 一些測試表明,至少在裝備相當(dāng)好的內(nèi)存的系統(tǒng)上,當(dāng)在單處理器系統(tǒng)上使用該收集算法時,次要垃圾收集的持續(xù)時間將減半。注意這是自相矛盾的,該收集器設(shè)計用于在具有十億字節(jié)堆的多處理器系統(tǒng)上工作最佳。沒有數(shù)據(jù)表示它在主要垃圾收集上的效果。注意: 該收集器和 -XX:+UseConcMarkSweepGC 是相互排斥的。
          • -J-XX:CompileThreshold=100 - 該開關(guān)將使啟動時間更慢,通過 HotSpot 來編譯下載至本機的代碼的很多方法比其他情況更快。報告的結(jié)果是 IDE 運行之后性能較高,因為將編譯比解釋的代碼更多的 UI 代碼。該值表示編譯之前必須調(diào)用方法的次數(shù)。

          影響圖形行為的選項 

          • -Dsun.java2d.opengl=true - 啟用新的基于 OpenGL 的管道,以便 Java 2D 用來支持使用 OpenGL 的快速硬件渲染。
          • -Dsun.java2d.d3d=false - 該開關(guān)禁用 DirectDraw 并且可能解決一些 HW 配置的性能問題。
          • -Dawt.nativeDoubleBuffering=true - 該開關(guān)使 Swing 假設(shè)操作系統(tǒng)正在處理雙倍緩存并且它不應(yīng)該執(zhí)行任何操作。在遠程 X 連接上該開關(guān)可能不工作,但是對于本地使用,它非常有用,因為您真正看到了每個重畫的完成,這使它很容易注意到某些操作是否正在造成不必要的重畫。
          • Font anti-aliasing 用于 Swing widget,可以與 -Dswing.aatext=true 屬性一起啟用。與環(huán)境變量 J2D_PIXMAPS=shared 的設(shè)置和導(dǎo)出一起使用時非常有用,至少在 Linux 平臺上可以獲得合理的性能。
          posted on 2009-03-11 15:14 心路 閱讀(3959) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 普定县| 乾安县| 娄底市| 平顺县| 汉中市| 明溪县| 临武县| 砚山县| 抚松县| 大关县| 罗田县| 平远县| 焦作市| 潢川县| 公安县| 通榆县| 阿尔山市| 龙江县| 元朗区| 延长县| 安阳市| 前郭尔| 伊通| 青田县| 读书| 湖南省| 尚志市| 广西| 白山市| 驻马店市| 缙云县| 罗江县| 翁牛特旗| 唐河县| 开平市| 饶平县| 西畴县| 吉木乃县| 兰西县| 灌南县| 阿拉善盟|