JVM æä¾›äº†å„¿U用于调整内å˜åˆ†é…å’Œåžƒåœ¾å›žæ”¶è¡ŒäØ“çš„æ ‡å‡†å¼€å…›_’Œéžæ ‡å‡†å¼€å…Ÿë€‚å…¶ä¸ä¸€äº›è®¾¾|®å¯ä»¥æé«?JAVA IDE 的性能ã€?
注æ„åQŒç”±äº?-X åQˆå°¤å…¶æ˜¯ -XX JVMåQ‰å¼€å…³é€šå¸¸æ˜?JVM æˆ?JVM 供应商特定的åQŒæœ¬éƒ¨åˆ†ä»‹ç»çš„开兛_¯ç”¨äºŽ Sun Microsystems J2SE 1.4.2ã€?/p>
以下讄¡½®åœ¨å¤§å¤šæ•°¾pÈ»Ÿä¸Šå°†äº§ç”Ÿæ¯”工厂更好的讄¡½®æ€§èƒ½ã€?
-vmargs - 表示ž®†åŽé¢çš„æ‰€æœ‰å‚æ•°ç›´æŽ¥ä¼ é€’åˆ°æ‰€æŒ‡ç¤ºçš?Java VMã€?/p>
-Xverify:none - æ¤å¼€å…›_…³é—Javaå—节ç 验è¯ï¼Œä»Žè€ŒåŠ å¿«äº†¾c»è£…入的速度åQŒåƈ使得在仅为验è¯ç›®çš„而å¯åŠ¨çš„˜q‡ç¨‹ä¸æ— 需装入¾c…R€‚æ¤å¼€å…³ç¾ƒçŸäº†å¯åŠ¨æ—‰™—´åQŒå› æ¤æ²¡æœ‰ç†ç”׃¸ä½¿ç”¨å®ƒã€?
-Xms24m - æ¤è®¾¾|®æŒ‡½C?Java 虚拟机将其åˆå§‹å †å¤§å°è®„¡½®ä¸?24 MB。通过指示 JVM 最åˆåº”分酾l™å †çš„å†…å˜æ•°é‡ï¼Œå¯ä»¥ä½?JVM ä¸å¿…åœ?IDE å ç”¨è¾ƒå¤šå†…å˜æ—¶å¢žåŠ å †å¤§å°ã€?
-Xmx96m - æ¤è®¾¾|®æŒ‡å®?Java è™šæ‹Ÿæœºåº”å¯¹å †ä½¿ç”¨çš„æœ€å¤§å†…å˜æ•°é‡ã€‚äØ“æ¤æ•°é‡è®¾¾|®ä¸Šé™è¡¨½C?Java ˜q›ç¨‹æ¶ˆè€—çš„å†…å˜æ•°é‡ä¸å¾—‘…过å¯ç”¨çš„物ç†å†…å˜æ•°é‡ã€‚对于具有更多内å˜çš„¾pÈ»Ÿå¯ä»¥å¢žåŠ æ¤é™åˆÓž¼Œ96 MB 讄¡½®æœ‰åŠ©äºŽç¡®ä¿?IDE 在内å˜é‡ä¸?128MB åˆ?256MB 的系¾lŸä¸Šèƒ½å¤Ÿå¯é 地执行æ“作。注æ„:ä¸è¦ž®†è¯¥å€ÆD®¾¾|®äؓ接近或大于系¾lŸçš„物ç†å†…å˜é‡ï¼Œå¦åˆ™ž®†åœ¨ä¸»è¦å›žæ”¶˜q‡ç¨‹ä¸å¯¼è‡´é¢‘¾Jçš„äº¤æ¢æ“作ã€?
-XX:PermSize=20m - æ?JVM 开关ä¸ä»…功能更为强大,而且能够¾~©çŸå¯åŠ¨æ—‰™—´ã€‚该讄¡½®ç”¨äºŽè°ƒæ•´å†…å˜"æ°æ€¹…区域"åQˆç±»ä¿å˜åœ¨è¯¥åŒºåŸŸä¸ï¼‰çš„大ž®ã€‚å› æ¤æˆ‘ä»¬å‘ JVM æç¤ºå®ƒå°†éœ€è¦çš„内å˜é‡ã€‚该讄¡½®æ¶ˆé™¤äº†è®¸å¤šç³»¾lŸå¯åŠ¨è¿‡½E‹ä¸çš„主è¦åžƒåœ¾æ”¶é›†äº‹ä»¶ã€‚SunONE Studio æˆ–å…¶å®ƒåŒ…å«æ›´å¤šæ¨¡å—çš„ IDE 的用户å¯èƒ½å¸Œæœ›å°†è¯¥æ•°å€ÆD®¾¾|®å¾—更高ã€?
下é¢åˆ—出了其它一些å¯èƒ½å¯¹ ECLIPSE 在æŸäº›ç³»¾lŸï¼ˆä¸æ˜¯æ‰€æœ‰ç³»¾lŸï¼‰ä¸Šçš„æ€§èƒ½äº§ç”Ÿè½Õd¾®æˆ–明昑֪„å“çš„ JVM 开兟뀂尽½Ž¡ä‹É用它们会产生一定的影å“åQŒä½†ä»å€¼å¾—一试ã€?
-XX:CompileThreshold=100 - æ¤å¼€å…›_°†é™ä½Žå¯åŠ¨é€Ÿåº¦åQŒåŽŸå› æ˜¯ä¸Žä¸ä½¿ç”¨æ¤å¼€å…³ç›¸æ¯”,HotSpot èƒ½å¤Ÿæ›´å¿«åœ°å°†æ›´å¤šçš„æ–¹æ³•ç¼–è¯‘äØ“æœ¬åœ°ä»£ç 。其¾l“果是æé«˜äº† IDE ˜q行时的性能åQŒè¿™æ˜¯å› 为更多的 UI ä»£ç ž®†è¢«¾~–è¯‘è€Œä¸æ˜¯è¢«è§£é‡Šã€‚è¯¥å€ÆD¡¨½Cºæ–¹æ³•在被编译å‰å¿…须被调用的‹Æ¡æ•°ã€?
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC - 如果垃圾回收频ç¹ä¸æ–åQŒåˆ™è¯·å°è¯•ä‹É用这些开兟뀂æ¤å¼€å…›_¯¼è‡?JVM 对主è¦åžƒåœ‘Ö›žæ”¶äº‹ä»Óž¼ˆå¦‚果在多处ç†å™¨å·¥ä½œç«™ä¸Šè¿è¡Œï¼Œåˆ™ä¹Ÿé€‚用于次è¦å›žæ”¶äº‹ä»Óž¼‰ä½¿ç”¨ä¸åŒçš„算法,˜q™äº›½Ž—法ä¸ä¼šå½±å“整个垃圾回收˜q›ç¨‹ã€‚注æ„:目剞®šä¸¼‹®å®šæ¤æ”¶é›†å™¨æ˜¯æé«˜è¿˜æ˜¯é™ä½Žå•处ç†å™¨è®¡½Ž—机的性能ã€?
-XX:+UseParallelGC - æŸäº›‹¹‹è¯•表明åQŒè‡³ž®‘在内å˜é…置相当良好的å•处ç†å™¨ç³»¾lŸä¸åQŒä‹É用æ¤å›žæ”¶½Ž—法å¯ä»¥ž®†æ¬¡è¦åžƒåœ‘Ö›žæ”¶çš„æŒç®‹æ—‰™—´å‡åŠã€‚注æ„,˜q™æ˜¯ä¸€ä¸ªçŸ›ç›„¡š„问题åQŒäº‹å®žä¸Šæ¤å›žæ”¶å™¨ä¸»è¦é€‚用于具有åƒå…†å—èŠ‚å †çš„å¤šå¤„ç†å™¨ã€‚å°šæ— å¯ç”¨æ•°æ®è¡¨æ˜Žå®ƒå¯¹ä¸»è¦åžƒåœ‘Ö›žæ”¶çš„å½±å“。注æ„:æ¤å›žæ”¶å™¨ä¸?-XX:+UseConcMarkSweepGC 是互斥的ã€?/p>
我的机器æ˜?12MB的内å?br /> 䏋颿˜¯æˆ‘çš„eclipseå¯åЍ傿•°åQšeclipse.exe -vmargs -Xverify:none -Xms64M -Xmx256M -XX:PermSize=20M -XX:+UseParallelGC
-----
我的电脑æ˜?G内å˜, 有一‹Æ¡å†…å˜ä¸‘³äº†... MyEclipse ž®±æŽ¨è我使用一个å¯åЍ傿•? 现在我的å¯åЍ傿•°æ˜?
eclipse.exe -vmargs -Xverify:none -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -XX:+UseParallelGC
  1. ctrl+shift+råQšæ‰“å¼€èµ„æº
  ˜q™å¯èƒ½æ˜¯æ‰€æœ‰å¿«æ·é”®¾l„åˆä¸æœ€çœæ—¶é—´çš„了。这¾l„å¿«æ·é”®å¯ä»¥è®©ä½ æ‰“å¼€ä½ çš„å·¥ä½œåŒÞZ¸ä»ÖM½•一个文ä»Óž¼Œè€Œä½ åªéœ€è¦æŒ‰ä¸‹æ–‡ä»¶å或maskåä¸çš„å‰å‡ ä¸ªå—æ¯åQŒæ¯”如applic*.xml。美ä¸ä¸‘³çš„æ˜¯è¿™¾l„å¿«æ·é”®òq‰™žåœ¨æ‰€æœ‰è§†å›¾ä¸‹éƒ½èƒ½ç”¨ã€?/p>
  2. ctrl+oåQšå¿«é€Ÿoutline
  如果惌™¦æŸ¥çœ‹å½“剾cÈš„æ–ÒŽ³•或æŸä¸ªç‰¹å®šæ–¹æ³•,但åˆä¸æƒ³æŠŠä»£ç æ‹‰ä¸Šæ‹‰ä¸‹ï¼Œä¹Ÿä¸æƒ³ä‹É用查扑֊Ÿèƒ½çš„è¯ï¼Œž®Þq”¨ctrl+oå§ã€‚它å¯ä»¥åˆ—出当剾cÖM¸çš„æ‰€æœ‰æ–¹æ³•åŠå±žæ€§ï¼Œä½ åªéœ€è¾“å…¥ä½ æƒ³è¦æŸ¥è¯¢çš„æ–ÒŽ³•å,点击enterž®Þpƒ½å¤Ÿç›´æŽ¥èŸ©è½¬è‡³ä½ 想åŽÈš„ä½ç½®ã€?/p>
  3. ctrl+eåQšå¿«é€Ÿè{æ¢ç¼–辑器
  ˜q™ç»„å¿«æ·é”®å°†å¸®åŠ©ä½ åœ¨æ‰“å¼€çš„ç¼–è¾‘å™¨ä¹‹é—´‹¹è§ˆã€‚ä‹É用ctrl+pagedown或ctrl+pageupå¯ä»¥‹¹è§ˆå‰åŽçš„选项å¡ï¼Œä½†æ˜¯åœ¨å¾ˆå¤šæ–‡ä»¶æ‰“开的状æ€ä¸‹åQŒctrl+eä¼šæ›´åŠ æœ‰æ•ˆçŽ‡ã€?/p>
  4. ctrl+2åQŒLåQšäؓ本地å˜é‡èµ‹å€?/strong>
  开å‘过½E‹ä¸åQŒæˆ‘常常先编写方法,如Calendar.getInstance()åQŒç„¶åŽé€šè¿‡ctrl+2å¿«æ·é”®å°†æ–ÒŽ³•的计½Ž—结果赋å€égºŽä¸€ä¸ªæœ¬åœ°å˜é‡ä¹‹ä¸Šã€‚è¿™æ ähˆ‘节çœäº†è¾“入类å,å˜é‡å以åŠå¯¼å…¥å£°æ˜Žçš„æ—‰™—´ã€‚Ctrl+F的效果类ä¼û|¼Œä¸è¿‡æ•ˆæžœæ˜¯æŠŠæ–ÒŽ³•的计½Ž—结果赋å€égºŽ¾cÖM¸çš„域ã€?/p>
  5. alt+shift+råQšé‡å‘½å
  é‡å‘½åå±žæ€§åŠæ–ÒŽ³•åœ¨å‡ òq´å‰˜q˜æ˜¯ä¸ªå¾ˆéºÈƒ¦çš„事åQŒéœ€è¦å¤§é‡ä‹É用æœç´¢åŠæ›¿æ¢åQŒä»¥è‡³äºŽä»£ç å˜å¾—雉™›¶æ•£æ•£çš„。今天的JavaIDEæä¾›æºç 处ç†åŠŸèƒ½åQŒEclipseä¹Ÿæ˜¯ä¸€æ —÷€‚现在,å˜é‡å’Œæ–¹æ³•çš„é‡å‘½åå˜å¾—å分简å•ï¼Œä½ ä¼šä¹ æƒ¯äºŽåœ¨æ¯æ¬¡å‡ºçŽ°æ›´å¥½æ›¿ä»£å称的时候都åšä¸€‹Æ¡é‡å‘½å。è¦ä½¿ç”¨˜q™ä¸ªåŠŸèƒ½åQŒå°†é¼ æ ‡¿UÕdŠ¨è‡›_±žæ€§å或方法å上,按下alt+shift+råQŒè¾“入新åç§°òq¶ç‚¹å‡Õd›žè½¦ã€‚å°±æ¤å®Œæˆã€‚å¦‚æžœä½ é‡å‘½å的是类ä¸çš„ä¸€ä¸ªå±žæ€§ï¼Œä½ å¯ä»¥ç‚¹å‡»alt+shift+r两次åQŒè¿™ä¼šå‘¼å«å‡ºæºç 处ç†å¯¹è¯æ¡†ï¼Œå¯ä»¥å®žçްgetåŠsetæ–ÒŽ³•的自动é‡å‘½åã€?/p>
  6. alt+shift+l以åŠalt+shift+måQšæå–本地å˜é‡åŠæ–ÒŽ³•
  æºç 处熘q˜åŒ…括从大å—的代ç 䏿å–å˜é‡å’Œæ–¹æ³•的功能。比如,è¦ä»Žä¸€ä¸ªstring创å¾ä¸€ä¸ªå¸¸é‡ï¼Œé‚£ä¹ˆž®±é€‰å®šæ–‡æœ¬òq¶æŒ‰ä¸‹alt+shift+lå›_¯ã€‚如果åŒä¸€ä¸ªstring在åŒä¸€¾cÖM¸çš„别处出玎ͼŒå®ƒä¼šè¢«è‡ªåŠ¨æ›¿æ¢ã€‚方法æå–也是个éžå¸¸æ–¹ä¾¿çš„功能。将大方法分解æˆè¾ƒå°çš„ã€å……分定义的æ–ÒŽ³•会æžå¤§çš„å‡å°‘夿‚度,òq¶æå‡ä»£ç çš„å¯æµ‹è¯•性ã€?/p>
  7. shift+enteråŠctrl+shift+enter
  Shift+enter在当å‰è¡Œä¹‹ä¸‹åˆ›å¾ä¸€ä¸ªç©ºç™½è¡ŒåQŒä¸Žå…‰æ ‡æ˜¯å¦åœ¨è¡Œæœ«æ— 兟뀂Ctrl+shift+enter则在当å‰è¡Œä¹‹å‰æ’入空白行ã€?/p>
  8. Alt+æ–¹å‘é”?/strong>
  ˜q™ä¹Ÿæ˜¯ä¸ªèŠ‚çœæ—‰™—´çš„æ³•å®ã€‚这个组åˆå°†å½“å‰è¡Œçš„内容往上或下移动。在try/catch部分åQŒè¿™ä¸ªå¿«æäh–¹å¼å°¤å…¶å¥½ä½Ñ€?/p>
  9. ctrl+m
  大显½Cºå±òq•能够æé«˜å·¥ä½œæ•ˆçŽ‡æ˜¯å¤§å®¶éƒ½çŸ¥é“的。Ctrl+m是编辑器½H—壿œ€å¤§åŒ–的快æ·é”®ã€?/p>
  10. ctrl+.åŠctrl+1åQšä¸‹ä¸€ä¸ªé”™è¯¯åŠå¿«é€Ÿä¿®æ”?/strong>
  ctrl+.ž®†å…‰æ ‡ç§»åŠ¨è‡³å½“å‰æ–‡äšgä¸çš„下一个报错处或è¦å‘Šå¤„。这¾l„å¿«æ·é”®æˆ‘一般与ctrl+1一òq¶ä‹É用,å³ä¿®æ”¹å¾è®®çš„å¿«æ·é”®ã€‚新版Eclipse的修改å¾è®®åšçš„很ä¸é”™åQŒå¯ä»¥å¸®ä½ 解军_¾ˆå¤šé—®é¢˜ï¼Œå¦‚方法ä¸çš„ç¼ºå¤±å‚æ•ŽÍ¼Œthrow/catchexceptionåQŒæœªæ‰§è¡Œçš„æ–¹æ³•牽{‰ã€?/p>
  更多快æ·é”®ç»„åˆå¯åœ¨Eclipse按下ctrl+shift+L查看ã€?/p>
  ¾~–辑推è
  详解如何让MyEclipseå…ähœ‰å¼ºå¤§çš„æ½CºåŠŸèƒ?/p>
  Eclipseæé«˜å·¥ä½œæ•ˆçŽ‡çš„å¥½ä¹ æƒ¯
  å‘Webå¼€å‘è¿›å†?Eclipseå‘展逿ž
e文版æ“作路径是:
Project->Properties->Java Build Path->Source->Excluded:**/.svn/**