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

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

          • -XX:+UseConcMarkSweepGC-XX:+UseParNewGC - 如果您遇到入侵垃圾收集暫停的問題,則嘗試這些開關(guān)。該開關(guān)使 JVM 對主要的垃圾收集事件(也對于次要的收集,如果運(yùn)行在多處理器的工作站上)使用不同的算法,一些算法并不停止整個垃圾收集進(jìn)程。
          • -XX:+UseAdaptiveSizePolicy - 該開關(guān)可能有助于提高垃圾收集器吞吐量并減少內(nèi)存占用。在 JDK5.0 中實(shí)現(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 來編譯下載至本機(jī)的代碼的很多方法比其他情況更快。報告的結(jié)果是 IDE 運(yùn)行之后性能較高,因?yàn)閷⒕幾g比解釋的代碼更多的 UI 代碼。該值表示編譯之前必須調(diào)用方法的次數(shù)。

          影響圖形行為的選項(xiàng) 

          • -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í)行任何操作。在遠(yuǎn)程 X 連接上該開關(guān)可能不工作,但是對于本地使用,它非常有用,因?yà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 心路 閱讀(3953) 評論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 渑池县| 德安县| 仁怀市| 达孜县| 南京市| 福建省| 衡山县| 合川市| 甘孜县| 定陶县| 长岭县| 大竹县| 揭东县| 大连市| 平山县| 洪雅县| 珲春市| 永登县| 乳山市| 博乐市| 沙洋县| 汾西县| 拉萨市| 绥棱县| 贵州省| 拉孜县| 平山县| 彰武县| 西和县| 阿瓦提县| 卓资县| 会东县| 太白县| 班戈县| 永平县| 资源县| 临邑县| 卢湾区| 林甸县| 石河子市| 黄骅市|