°O¾ÐÅéºÞ²z¬O¼vÅT³nÅéÀ³¥Îµ{¦¡©Ê¯àªº¤@Ó«n¦]¯À¡C»P¹ê»Úªº¼Æ¾Úpºâ®É¶¡¬Û¤ñ¡A¤À°t©M¨ø¸ü°O¾ÐÅé©Ò¥Îªº®É¶¡§óªø¡C
ÁöµMC++¥i¹ï°O¾ÐÅé¤À°t»PÄÀ©ñ¶i¦æª½±µ±±¨î¡AJava§Q¥Î©U§£¦¬¶°¨Ó¦^¦¬µ{¦¡¤£¦A»Ýnªº°O¾ÐÅé¡A¸Õ¹Ï´x´¤°O¾ÐÅéºÞ²z¡C¦ý¬O¡A¦b»Ýn¹ê®É©Ê¯à®É¡A»P©U§£¦¬¶°¦³Ãöªº¡§¼È°±¡¨¤@ª½¬O¤H̤ϹïÀ³¹ïJavaªº¤¤¤ß½×ÂI¡C
©U§£¦¬¶°¬O¤@Ó¶g´Á©Êªº¹Lµ{¡A¥¦¤¤Â_µ{¦¡ªº¥¿±`°õ¦æ¡A¤ÀªR¹ï¶H¤Þ¥Î¡A¨Ã¦^¦¬³Q¤À°t¦ý¤£¦A³Q¤Þ¥Î³X°Ýªº°O¾ÐÅé¡C¦b¤j«¬JavaÀ³¥Îµ{¦¡¤¤¡A©U§£¦¬¶°¼È°±¥i¯à«ùÄò´X¬íÄÁ¡A³o¬q®É¶¡¨¬¥H¤¤Â_¥ô¦óÃþ«¬ªº¹ê®É³q«H©Î±±¨î¨t²Î¡C
¦]¦¹¡A©U§£¦¬¶°´£¨Ñªº°O¾ÐÅé´£¨ún¨D¤@¨Ç¶}µoªÌ§ó¥J²Ó¦a¦Ò¼{°O¾ÐÅéºÞ²z°ÝÃD¡C§Y¨ÏJava¨Ã¨S¦³´£¨Ñ©MC++¦Pµ¥¯Å§Oªº°O¾ÐÅé¤À°t±±¨î¡A½sµ{¼Ò¦¡¤´µM·|¹ïJavaÀ³¥Îµ{¦¡ªº°O¾ÐÅé©Ê¯à²£¥Í«¤j¼vÅT¡C
¦b¥»¤å¤¤¡A§Ú±N²³æ¦^ÅU¤@¤UJava 5.0ªº©U§£¦¬¶°½Õ¾ã¥\¯à¡C
Java 5.0©U§£¦¬¶°ì²z
Java 1.5·s¯S©Ê??¤u®Ä¾Ç??ªº¥Ø¼Ð¬O³q¹L³Ì¤Öªº©R¥O¦æ½Õ¾ã¡A¬°JVM´£¨ÑÀu¨}ªº©Ê¯à¡C¤u®Ä¾Ç¸Õ¹Ï¬°¤@ÓÀ³¥Îµ{¦¡¿ï¾Ü³Ì¨Îªº©U§£¦¬¶°¾¹¡B°ï¤j¤p»P¹B¦æ®É¶¡½sĶ¾¹¡C
©U§£¦¬¶°¾¹ªº¿ï¾Ü¦ó®É·|¹ï¥Î¤á²£¥Í¼vÅT©O¡H¹ï³\¦hÀ³¥Îµ{¦¡¨Ó»¡¡A¥¦®Ú¥»¨S¦³¼vÅT¡C¤]´N¬O»¡¡A¦b©U§£¦¬¶°²£¥Íªº¼È°±ªºÀW²v»P«ùÄò®É¶¡¾A«×ªº±¡ªp¤U¡AÀ³¥Îµ{¦¡¥i¦b¨ä³W½d¤º°õ¦æ¡C¦pªG¤@Ó¤j«¬À³¥Îµ{¦¡¥X²{ÂX¥R¡A²£¥Í¤j¶q½uµ{¡B³B²z¾¹¡B®M±µ¦r©M³\¦h°O¾ÐÅé¡A´N·|¥X²{¨Ò¥~¡C
¦pªG¤@Ó¹ï¶H¦A¤]¤£¯à³q¹L¹B¦æµ{¦¡¤¤ªº¥ô¦ó«ü°w¨ì¹F¡A«hµø¨ä¬°©U§£¡C³Ìª½±µªº©U§£¦¬¶°¹Bºtºâªk«h²³æ¦a¦b¨CÓ¥i¨ì¹Fªº¹ï¶H¶¡¡¥N¡C¨º»ò¡A³Ñ¤Uªº¹ï¶H§Y¬°©U§£¡C³o¤@¤èªk©Ò¥Îªº®É¶¡»P¬¡°Ê¹ï¶Hªº¼Æ¥Ø¦¨¤ñ¨ÒÃö«Y¡A¥B¸T¤î¥Î©óºûÅ@³\¦h¬¡°Ê¼Æ¾Úªº¤j«¬À³¥Îµ{¦¡¡C
±qJava 2¶}©l¡AµêÀÀ¾÷¦X¨Ö¤F³\¦hÀ³¥Î¤À¥N¦¬¶°²Õ¦Xªº¦UºØ¦¬¶°¹Bºtºâªk«h¡C¾¨ºÞ²³æªº©U§£¦¬¶°Àˬd°ï¤¤ªº¨C¤@Ó¬¡°Ê¹ï¶H¡A¦ý¤À¥N¦¬¶°§Q¥Î¦h¼ÆÀ³¥Îµ{¦¡ªº´XӾ̸gÅçÆ[¹î±o¨ìªº¯S©Ê¨ÓÁקKÃB¥~¤u§@¡C³o¨ÇÆ[¹î±o¨ìªº¯S©Ê¤¤³Ì¬°«nªº¤@Ó´N¬O©Ò¿×ªº¦´Á¥¢®Ä²v¡C³\¦h¹ï¶H¤À°t¥H«á«Ü§Ö¡§¤w¸g¦º¤`¡¨¡C¨Ò¦p¡A¡¥N¾¹¹ï¶H¶È¦b³æ¿W°j°é¤¤¦s¬¡¡C¬°Àu¤Æ³oºØ±¡ªp¡A§Ú̹ï°O¾ÐÅé¶i¦æ¤À¥NºÞ²z¡A©Î¦b°O¾ÐÅé¦À¤¤«O¯d¤£¦P¦~ÄÖªº¹ï¶H¡C·í¤@¥N¸Ëº¡®É¡A´N¹ï³oÓ¥N¶i¦æ©U§£¦¬¶°¡C¹ï¶H³Q¤À°t¨ì§ó¦~ÄÖ¹ï¶H¥N¡A©Î·s¥Í¥N¤¤¡C¥Ñ©ó¦´Á¥¢®Ä²v¡A¦h¼Æ¹ï¶H¦b¨ºùئº¤`¡C
¦pªG©U§£¦¬¶°¾¹¦¨¬°²~ÀV¡A§A¥i¯à§Æ±æ¦Û©w¸q¥Nªº¤j¤p¡C¸Ô²ÓÀˬd©U§£¦¬¶°¾¹ªº¿é¥X¡AµM«á±´¨s³æөʯàp¶q³æ¦ì¹ï©U§£¦¬¶°¾¹°Ñ¼ÆªºÆF±Ó«×¡C
ªì©l¤Æ®É¡A«O¯d¤@ӳ̤jªº¦a§}ªÅ¶¡¡A¦b¥²n®É¤~¤À°tµ¹ª«²z°O¾ÐÅé¡C¬°¹ï¶H°O¾ÐÅé«O¯dªº¥þ³¡¦a§}ªÅ¶¡¥i¤À¬°·s¥Í¥N©MÂ¥ͥN¡C·s¥Í¥N¥Ñeden©M¨âӥͦsªÅ¶¡²Õ¦¨¡C¹ï¶H³Ìªì¤À°t¨ìeden¤¤¡C¥ô¦ó®ÉÔ¡A¤@ӥͦsªÅ¶¡¬°ªÅ¡A¨Ã§@¬°¤U¤@ӪŶ¡ªº¥Øªº¦a¡A¦beden»P¥t¤@ӥͦsªÅ¶¡¤¤½Æ»s¬¡°Ê¹ï¶Hªº¶°¦X¡C¹ï¶H¥H³oºØ¤è¦¡¦b¥Í¦sªÅ¶¡¤¤½Æ»s¡Aª½¨ì¥¦Ì¦Ñ¤Æ¡A©Î½Æ»s¨ìÂ¥ͥN¤¤¡C»PÂ¥ͥNÃö«Y±K¤Áªº²Ä¤TÓ¥NºÙ¬°¥Ã¥Í¥N¡C³o¬O¤@Ó¯S§Oªº¥N¡A¦]¬°¥¦«O¯dµêÀÀ¾÷©Ò»Ýnªº¼Æ¾Ú¡A¨Ó´yz¦bJava»y¨¥¤¤¨S¦³µ¥¦Pª«ªº¹ï¶H¡C¨Ò¦p¡A´yzÃþ»P¤èªkªº¹ï¶H¦sÀx¦b¥Ã¥Í¥N¤¤¡C
©Ê¯à¦]¯À
JavaÀ³¥Îµ{¦¡¡]¯S§O¬O©U§£¦¬¶°¡^¦³¨âөʯàp¶q³æ¦ì¡G§]¦R¶q»P¼È°±¡C§]¦R¶q¬O«ü¦b¤@¬q¸ûªø®É¶¡¤º¡A¨S¦³¥Î©ó©U§£¦¬¶°ªº®É¶¡¦Ê¤À¤ñ¡C§]¦R¶q¥]¬A¥Î©ó¤À°tªº®É¶¡¡]¦ý¥Î©ó½Õ¾ã¤À°t³t«×ªº®É¶¡¤@¯ë¤£¥]¬A¦b¤º¡^¡C¼È°±¬OÀ³¥Îµ{¦¡¦]¬°©U§£¦¬¶°¦Ó¥X²{ªº°±¹y®É¶¡¡C
¤@¨Ç¥Î¤áÁÙ¹ï¨ä¥L¦]¯À¸û¬°±Ó·P¡C¨Ò¦p¡A¦û¥Î²v(footprint) ¬O¤@§å¤u§@¶iµ{ªº¶°¦X¡A¥H¶©M½w½Ä¦æ¼Æp¶q¡A¦bª«²z°O¾ÐÅ馳©ÎªÌ¦³«Ü¦h¶iµ{ªº¨t²Î¤¤¡A¦û¥Î²v¥iªí¥ÜÂX®i©Ê¡C
¤ÏÀ³©Ê¡]Promptness¡^¬O¹ï¶H¦º¥hªº®É¶¡©M°O¾ÐÅéÅܬ°¥i¥Î®Éªº®É¶¡®t¡A¬O¤À§G¨t²Î¡A¥]¬A»·µ{¤èªk½Õ¥Î¡]RMI¡^¤¤ªº«n¦]¯À¡C
³q±`¨Ó»¡¡A¯S©wªº¥N¤j¤p¿ï¾Ü³o¨Ç¦]¯À¤§¶¡ªº¥¿Å§@¥Î¡C¨Ò¦p¡A¤@Ó«D±`¤jªº·s¥Í¥Nªº§]¦R¶q¥i¥H³Ì¤j¡A¦ý³on¥HÄ묹¦û¥Î²v¡B¤ÏÀ³©Ê©M¼È°±®É¶¡¬°¥N»ù¡C§A¤]¥i¥HÄ묹§]¦R¶q¡AÀ³¥Î¤@Ó¤p«¬ªº·s¥Í¥N¨Ó¨Ï·s¥Í¥N¼È°±®É¶¡³Ìµu¡C
¦pªG§A§Æ±æ´£°ª¦³¤j¶q³B²z¾¹ªºÀ³¥Îµ{¦¡ªº©Ê¯à¡A§AÀ³¸Ó¨Ï¥Î§]¦R¶q¦¬¶°¾¹¡C§A¥i¥H¥Î©R¥O¦æ¼Ð°O-XX:+UseParallelGC¨Ó¿E¬¡§]¦R¶q¦¬¶°¾¹¡C§A¥i¥H¥ÎParallelGCThreads¿ï¶µ-XX
arallelGCThreads=¨Ó±±¨î©U§£¦¬¶°¾¹½uµ{ªº¼Æ¶q¡C
³Ì¤j¼È°±®É¶¡¥Ø¼Ð¥Î©R¥O¦æ¼Ð°O-XX:MaxGCPauseMillis=¨Ó«ü©w¡A³o¬O¹ï§]¦R¶q¦¬¶°¾¹ªº¤@Ó·t¥Ü¡A§Y¥¦»Ýn²@¬í©Î§óµuªº¼È°±®É¶¡¡C¦s¦b¦³³\¦h½Õ¾ã¥N¤j¤pªº¿ï¶µ¡A¦p-XX:YoungGenerationSizeIncrement=¥Î©ó·s¥Í¥N¡F¦Ó-XX:TenuredGenerationSizeIncrement=¥Î©óÂ¥ͥN¡C
¦pªGÀ³¥Îµ{¦¡¨ü¯q©ó¸ûµuªº©U§£¦¬¶°¾¹¼È°±¡A¥B¯à°÷¦bÀ³¥Îµ{¦¡¹B¦æ®É»P©U§£¦¬¶°¾¹¦@¥Î³B²z¾¹¸ê·½¡A§Ú«Øij¨Ï¥Î¨Ã¦æ§C¼È°±¦¬¶°¾¹¡C¦pªGÂ¥ͥN¦û¥Î²v¶W¥Xªì©l¦û¥Î²v¡]§Y·í«e°ïªº¦Ê¤À¤ñ¥Î©ó¨Öµo¦¬¶°±Ò°Ê¤§«e¡^¡A¨Öµo¦¬¶°±N±Ò°Ê¡C
Àq»{ªºªì©l¦û¥Î²v¬ù¬°68%¡C§A¥i¥H¥Î°Ñ¼Æ-XX:CMSInitiatingOccupancyFraction=¶i¦æ³]¸m¡A³o¸Ìªº¬O·í«eÂ¥ͥN¤j¤p¦Ê¤À¤ñ¡C§A¯à°÷¥H¨Öµo¶¥¬q»¼¼W§¹¦¨ªº¤è¦¡¨Ï¥Î¨Öµo¦¬¶°¾¹¡C³oºØ¼Ò¦¡¡]³o¸ÌºÙ¤§¬°¡¨i-cms¡¨¡^±N¦¬¶°¾¹¨Öµo§¹¦¨ªº¤u§@¤À³Î¦¨®É¶¡¤p¬q¡A¦w±Æ¦b·s¥Í¥N¦¬¶°¤§¶¡¡C·í»Ýn¨Öµo¦¬¶°¾¹´£¨Ñµu¼È°±®É¶¡ªºÀ³¥Îµ{¦¡¦b¾Ö¦³¤Ö¶q³B²z¾¹ªº¾÷¾¹¤W¹B¦æ®É¡A³o¤@¯S©Ê«Ü¦³À°§U¡C
·L½Õ©U§£¦¬¶°
©R¥O¦æ°Ñ¼Æ-verbose:gc¦C¦L¨CÓ¦¬¶°¶¥¬qªº¸ê°T¡C¦pªG¥´¶}¦¹°Ñ¼Æ¡A§A·|¦b¨CÓ©U§£¦¬¶°¶¥¬q¬Ý¨ì¬Û¦üªº¿é¥Xµ²ªG¡C¨Ò¦p¡G
[GC 325407K->83000K(776768K), 0.2300771 secs]
[GC 325816K->83372K(776768K), 0.2454258 secs]
[Full GC 267628K->83769K(776768K), 1.8479984 secs]
¦³¨âÓ¦¸n¦¬¶°©M¤@Ó¥Dn¦¬¶°¡]§¹¥þGC¡^¡C¼Ð°O-XX:+PrintGCDetails¦C¦L¦¬¶°ªº¨ä¥L¸ê°T¡C¼Ð°O-XX:+PrintGCTimeStamps¦C¦L¨C¦¸¦¬¶°¶}©lªº®É¶¡¡C¦CªíA¬O¨âӼаO³Q³]©w«áªºµ²ªG¡C
¥t¥~¡A¥Dn¦¬¶°ªº¸ê°T¥ÑÂ¥ͥN´yz¡C¦b³o¸Ì¡AÂ¥ͥN¨Ï¥Î²v´î¤Ö¨ì¬ù10%¡A©Ò¥Î®É¶¡¬ù¬°0.13¬í¡C
³\¦h°Ñ¼Æ¼vÅT¥Nªº¤j¤p¡C¦bµêÀÀ¾÷ªºªì©l¶¥¬q¡A°ïªº¾ãӪŶ¡³Q«O¯d¡C§A¥i¥H¥Î-Xmx¿ï¶µ«ü©w«O¯dªÅ¶¡ªº¤j¤p¡C¦pªG-Xms°Ñ¼ÆªºÈ¤p¤_-Xmx°Ñ¼ÆªºÈ¡Aªí¥Ü¤£¬O©Ò¦³ªº«O¯dªÅ¶¡¥ß§Y´£¥æµ¹µêÀÀ¾÷¡C°ïªº¤£¦P³¡¤À¡]¥Ã¥Í¥N¡BÂ¥ͥN©M·s¥Í¥N¡^¥²n®É¥i¯à·|¶W¥XµêÀÀªÅ¶¡ªº¨î¡C
Àq»{±¡ªp¤U¡A¦b¨C¦¸¦¬¶°®É¡AµêÀÀ¾÷¼W¤j©ÎÁY¤p°ïªº¤j¤p¡A§V¤O±N¦Û¥ÑªÅ¶¡»P¬¡°Ê¹ï¶Hªº¤ñ¨Ò«O«ù¦b¤@Ó¯S©wªº½d³ò¤º¡C³oÓ½d³ò¬O¤@ӦʤÀ¼Æ¡A¥Ñ°Ñ¼Æ-XX:MinHeapFreeRatio=©M-XX:MaxHeapFreeRatio=³]©w¡A-Xms¬°¤U¡A-Xmx¬°¤W¡C°£«D¦³¼È°±°ÝÃD¡A§_«h¦VµêÀÀ¾÷³\¥iºÉ¥i¯à¦hªº°O¾ÐÅé¡CÀq»{ªº¤j¤p¡]64MB¡^¤@¯ë³£¤Ó¤p¡C§A¥i¥H¦bSunºô¯¸§ä¨ì¨ä¥LVM¿ï¶µªº»¡©ú¡C
§AÁÙ¥i¥H¬°·s¥Í¥Nªº°ï³]©w¤@Ó¤ñ¨Ò¡C·s¥Í¥N¶V¤j¡A¦¸n¦¬¶°´N¶V¤Öµo¥Í¡C¦ý¬O¡A¦b¤@Ó¦³¤j¤pªº°ï¤¤¡A·s¥Í¥N¶V¤j´N·N¨ýµÛÂ¥ͥN¶V¤p¡A³o·|¼W¥[¥Dn¦¬¶°ªºÀW²v¡C³ÌÀu¿ï¾Ün®Ú¾ÚÀ³¥Îµ{¦¡¤À°tªº¹ï¶Hªº¹Ø©R¤À°t¨Ó¨M©w¡C
·s¥Í¥Nªº¤j¤p¥ÑNewRatio±±¨î¡C¨Ò¦p¡A³]©w-XX:NewRatio=3»¡©ú·s¥Í¥N»PÂ¥ͥN¤§¤ñ¬°1¡G3¡C¦pªG§Æ±æªº¸Ü¡A¥i¥Î°Ñ¼ÆSurvivorRatio¨Ó½Õ¾ã¥Í¦sªÅ¶¡ªº¤j¤p¡A¦ý¥¦¨Ã¤£¦p©Ê¯à«n¡C
¨Ò¦p¡A-XX:SurvivorRatio=6»¡©ú¨CӥͦsªÅ¶¡»Pedenªº¤ñ¬°1¡G6¡C°£«D§Aµo²{¹L¦h¥Dn¦¬¶°©Î¼È°±®É¶¡°ÝÃD¡A¦V·s¥Í¥N³\¥i¤j¶q°O¾ÐÅé¡C
Java 5.0°õ¦æ¤F¤TÓ¤£¦Pªº©U§£¦¬¶°¾¹¡C§]¦R¶q¦¬¶°¾¹¨Ï¥Î·s¥Í¥N¦¬¶°¾¹ªº¨Ã¦æª©¥»¡C¦pªG-XX:+UseParallelGC¿ï¶µ¶Ç»¼µ¹©R¥O¦æ¡A«h¨Ï¥Î¨Ã¦æ¦¬¶°¾¹¡F¦pªG-Xincgc©Î-XX:+UseConcMarkSweepGC¿ï¶µ¶Ç»¼µ¹©R¥O¦æ¡A«h¨Ï¥Î¨Öµo¦¬¶°¾¹¡C
¦b³oºØ±¡ªp¤U¡A¦¬¶°¹Lµ{¤¤À³¥Îµ{¦¡·|¥X²{µu´Á¼È°±¡C¦pªG-XX:+UseTrainGC¶Ç»¼¸g©R¥O¦æ¡A«h¨Ï¥Î»¼¼W¦¡§C¼È°±¦¬¶°¾¹¡C±N¨Óª©¥»±N¤£¤ä´©³o¤@¥\¯à¡A¦ý¦pªG§A·Q¤F¸Ñ§ó¦h¸ê°T¡A½Ð³X°ÝSunªºÃö©óÀ³¥Î³oÓ¦¬¶°¾¹ªº¤å¥ó¸ê®Æ¡C¡]´£¥Ü¡G¤£n¦P®É¨Ï¥Î-XX:+UseParallelGC©M-XX:+UseConcMarkSweepGC¡C¡^
µ²½×
®Ú¾ÚÀ³¥Îµ{¦¡ªº»Ý¨D¡A©U§£¦¬¶°¥i¯à¦¨¬°¦UºØÀ³¥Îµ{¦¡ªº²~ÀV¡C³q¹L¤F¸ÑÀ³¥Îµ{¦¡»Ý¨D»P©U§£¦¬¶°¿ï¶µ¡A¥i¥H´î»´©U§£¦¬¶°ªº¼vÅT¡C
http://big5.ccidnet.com:89/gate/ ... 0225/1370191_1.html