Õ¾ÄÚËÑË÷: ÇëÊäÈëËÑË÷¹Ø¼ü´Ê

µ±Ç°Ò³Ãæ: ¿ª·¢×ÊÁÏÊ×Ò³ ¡ú Java רÌâ ¡ú Java³ÌÐòÐÔÄܵ÷ÓŵĻù±¾ÖªÊ¶ºÍJDKµ÷ÓÅ

Java³ÌÐòÐÔÄܵ÷ÓŵĻù±¾ÖªÊ¶ºÍJDKµ÷ÓÅ

ÕªÒª: ÔÚÐÔÄܵ÷ÓÅ֮ǰ£¬ÎÒÃÇÊ×ÏÈÀ´Á˽âÒ»ÏÂÐÔÄÜÊÇʲô£¿¹ØÓÚÐÔÄÜ£¬ÎÒÏëÿ¸öѧϰ¹ýJavaµÄÈ˶¼ÄÜÁгö¼¸µã
¡¡¡¡Ò» »ù±¾ÖªÊ¶

¡¡¡¡1.1 ÐÔÄÜÊÇʲô

¡¡¡¡ÔÚÐÔÄܵ÷ÓÅ֮ǰ£¬ÎÒÃÇÊ×ÏÈÀ´Á˽âÒ»ÏÂÐÔÄÜÊÇʲô£¿¹ØÓÚÐÔÄÜ£¬ÎÒÏëÿ¸öѧϰ¹ýJavaµÄÈ˶¼ÄÜÁгö¼¸µã£¬ÉõÖÁ¿ÉÒÔ¿ä¿äÆä̸¡£ÔÚ¡¶Java TM Platform Performance¡·Ò»ÊéÖУ¬¶¨ÒåÁËÈçÏÂÎå¸ö·½ÃæÀ´×÷ΪÆÀÅÐÐÔÄܵıê×¼£º

¡¡¡¡1) ÔËËãµÄÐÔÄÜ¡ª¡ªÄÄÒ»¸öËã·¨µÄÖ´ÐÐÐÔÄÜ×îºÃ£¿

¡¡¡¡2) ÄÚ´æµÄ·ÖÅ䡪¡ª³ÌÐòÔËÐÐʱÐèÒªºÄ·Ñ¶àÉÙÄڴ棿

¡¡¡¡3) Æô¶¯µÄʱ¼ä¡ª¡ª³ÌÐòÆô¶¯ÐèÒª¶à³¤Ê±¼ä£¿ÕâÔÚWebÏîÄ¿ÖеÄÓ°Ïì²»´ó£¬µ«Òª×¢Òⲿ·Ö³ÌÐòÐèÒª²¿Êð»òÔËÐÐÔÚ¿Í»§¶ËʱµÄÇéÐΣ¨±ÈÈçapplet³ÌÐò£©¡£

¡¡¡¡4) ³ÌÐòµÄ¿ÉÉìËõÐÔ¡ª¡ªÔÚѹÁ¦¸ºÔصÄÇé¿öÏ£¬³ÌÐòµÄÐÔÄÜÈçºÎ£¿

¡¡¡¡5) ÐÔÄܵĸÐÖª¡ª¡ªÓû§ÔÚʲôÇé¿öÏ»á¾õµÃ³ÌÐòµÄÐÔÄܲ»ºÃ£¿

¡¡¡¡ÒÔÉÏÎå¸ö·½Ã棬ÔÚ¾ßÌåµÄʹÓó¡¾°¿ÉÒÔÓÐÑ¡ÔñµÄÈ¥ÆÀÅС£ÖÁÓÚÕâÎå·½ÃæµÄÐÔÄܵ÷ÓÅ£¬ÔÚºóÐøµÄÕ½ÚÖн«»á½ÐøµÄ¸øÒÔÏàÓ¦µÄÐÔÄܵ÷ÓŲßÂÔ¡£
¡¡
¡¡¡¡1.2 µ÷ÓŵĹæÔò

¡¡¡¡ÎÒÃÇÖ»ÐèÒª¹ØÐĶÔÎÒÃdzÌÐòÓÐÓ°Ï죬¿ÉÒÔ²ì¾õµ½µÄÐÔÄÜÎÊÌ⣬¶ø²»ÊÇÿһ¸öÀàÖеÄÿһ¸ö·½·¨ÎÒÃǶ¼ÐèÒªÏë·½Éè·¨µÄÌá¸ßÐÔÄÜ¡£Èç¹û³ÌÐòµÄÐÔÄÜûÓдﵽÎÒÃÇËùÆÚÍûµÄÒªÇó£¬ÎÒÃDzÅÐèÒª¿¼ÂÇÈçºÎÓÅ»¯ÐÔÄÜ¡£Í¬ÑùµÄ£¬»ÞɬµÄ´úÂëËäÈ»Ìá¸ßÁ˳ÌÐòµÄÐÔÄÜ£¬µ«Í¬Ê±¿ÉÄÜ´ø¸øÎÒÃǵÄÊÇά»¤µÄجÃΡ£ÎÒÃÇÐèÒªÕÛÖеĿ¼ÂÇÒÔÉÏÁ½ÖÖÇé¿ö£¬Ê¹µÃ³ÌÐòµÄ´úÂëÊÇÓÅÃÀµÄ£¬²¢ÇÒÔËÐеÄ×ã¹»¿ì£¬´ïµ½¿Í»§ËùÆÚÍûµÄÐÔÄÜÒªÇó¡£

¡¡¡¡ÓÅ»¯´úÂëÉõÖÁ»áµ¼Ö²»Á¼µÄ½á¹û£¬Donald Knuth£¨Ò»Î»±È½ÏÅ£±È½ÏÓÐÓ°ÏìµÄÈËÎ¾ßÌåÊÇË­£¬ÎÒÒ²ÍüÁË£¬Ë­ÖªµÀ£¬¿ÉÒÔ¸æËßÎÒһϣ¬Ð»Ð»£¡£©Ôø˵¹ý£¬¡°Premature optimization is the root of all evil¡±¡£ÔÚ¿ªÊ¼ÐÔÄܵ÷ÓÅÇ°£¬ÐèÒªÏÈÖ¸³ö²»ÓÅ»¯´úÂëµÄһЩÀíÓÉ¡£

¡¡¡¡1) Èç¹ûÓÅ»¯µÄ´úÂëÒѾ­Õý³£¹¤×÷£¬ÓÅ»¯ºó¿ÉÄÜ»áÒýÈëеÄbug£»

¡¡¡¡2) ÓÅ»¯´úÂëÇ÷ÏòÓÚʹ´úÂë¸üÄÑÀí½âºÍά»¤£»

¡¡¡¡3) ÔÚÒ»¸öƽ̨ÉÏÓÅ»¯µÄ´úÂ룬ÔÚÁíÒ»¸öƽ̨ÉÏ¿ÉÄܸüÔ㣻

¡¡¡¡4) »¨·ÑºÜ¶àʱ¼äÔÚ´úÂëµÄÓÅ»¯ÉÏ£¬Ìá¸ßÁ˺ÜÉÙµÄÐÔÄÜ£¬È´µ¼ÖÂÁË»ÞɬµÄ´úÂë¡£ ȷʵ£¬ÔÚÓÅ»¯Ç°£¬ÎÒÃDZØÐëÈÏÕæµÄ¿¼ÂÇÊÇ·ñÖµµÃÈ¥ÓÅ»¯¡£

¡¡¡¡1.3 µ÷ÓŵIJ½Öè

¡¡¡¡Ò»°ãÎÒÃÇÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄÜ»®·ÖΪÒÔϼ¸¸ö²½Ö裺

¡¡¡¡1) Ã÷È·Ó¦ÓóÌÐòµÄÐÔÄÜÖ¸±ê£¬ÔõÑù²Å·ûºÏÆÚÍûµÄÐÔÄÜÐèÇó£»

¡¡¡¡2) ÔÚÄ¿±êƽ̨½øÐвâÊÔ£»

¡¡¡¡3) Èç¹ûÐÔÄÜÒѾ­´ïµ½ÐÔÄÜÖ¸±ê£¬Stop£»

¡¡¡¡4) ²éÕÒÐÔÄÜÆ¿¾±£»

¡¡¡¡5) ÐÞ¸ÄÐÔÄÜÆ¿¾±£»

¡¡¡¡6) ·µ»Øµ½µÚ2²½¡£

¡¡¡¡¶þ JDKµ÷ÓÅ

¡¡¡¡2.1 Ñ¡ÔñºÏÊʵÄJDK°æ±¾

¡¡¡¡²»Í¬°æ±¾µÄJDK£¬ÉõÖÁ²»Í¬³§¼ÒµÄJDK¿ÉÄܶ¼´æÔÚןܴóµÄ²îÒ죬¶ÔÓÚÐÔÄÜÓÅ»¯µÄ³Ì¶È²»Í¬¡£Ò»°ãÀ´Ëµ£¬¾¡¿ÉÄÜÑ¡Ôñ×îз¢²¼µÄÎȶ¨µÄJDK°æ±¾¡£×îеÄÎȶ¨µÄJDK°æ±¾Ïà¶ÔÒÔÇ°µÄJDK°æ±¾¶¼»á×öһЩbugµÄÐ޸ĺÍÐÔÄܵÄÓÅ»¯¹¤×÷¡£

¡¡¡¡2.2 À¬»øÊÕ¼¯Java¶ÑµÄÓÅ»¯

¡¡¡¡À¬»øÊÕ¼¯¾ÍÊÇ×Ô¶¯ÊͷŲ»ÔÙ±»³ÌÐòËùʹÓõĶÔÏóµÄ¹ý³Ì¡£µ±Ò»¸ö¶ÔÏó²»ÔÙ±»³ÌÐòËùÒýÓÃʱ£¬ËüËùÒýÓõĶѿռä¿ÉÒÔ±»»ØÊÕ£¬ÒԱ㱻ºóÐøµÄжÔÏóËùʹÓá£À¬»øÊÕ¼¯Æ÷±ØÐëÄܹ»¶Ï¶¨ÄÄЩ¶ÔÏóÊDz»ÔÙ±»ÒýÓõģ¬²¢ÇÒÄܹ»°ÑËüÃÇËùÕ¼¾ÝµÄ¶Ñ¿Õ¼äÊͷųöÀ´¡£Èç¹û¶ÔÏó²»ÔÙ±»Ê¹Ó㬵«»¹Óб»³ÌÐòËùÒýÓã¬ÕâʱÊDz»Äܱ»À¬»øÊÕ¼¯Æ÷Ëù»ØÊյģ¬´Ëʱ¾ÍÊÇËùνµÄ¡°ÄÚ´æй©¡±¡£¼à¿ØÓ¦ÓóÌÐòÊÇ·ñ·¢ÉúÁËÄÚ´æй©£¬ÓÐÒ»¸ö·Ç³£ÓÅÐãµÄ¼à¿Ø¹¤¾ßÍƼö¸ø´ó¼Ò¡ª¡ªQuest¹«Ë¾µÄJProbe¹¤¾ß£¬Ê¹ÓÃËüÀ´¹Û²ì³ÌÐòÔËÐÐÆÚµÄÄÚ´æ±ä»¯£¬²¢¿É²úÉúÄÚ´æ¿ìÕÕ£¬´Ó¶ø·ÖÎö²¢¶¨Î»ÄÚ´æй©µÄÈ·ÇÐλÖ㬿ÉÒÔ¾«È·¶¨Î»µ½Ô´ÂëÄÚ¡£Õâ¸ö¹¤¾ßµÄʹÓÃÎÒÔÚºóÐøµÄÕ½ÚÖл¹»á×ö¾ßÌå½éÉÜ¡£

¡¡¡¡Java¶ÑÊÇÖ¸ÔÚ³ÌÐòÔËÐÐʱ·ÖÅä¸ø¶ÔÏóÉú´æµÄ¿Õ¼ä¡£Í¨¹ý-mx/-XmxºÍ-ms/-XmsÀ´ÉèÖÃÆðʼ¶ÑµÄ´óСºÍ×î´ó¶ÑµÄ´óС¡£¸ù¾Ý×Ô¼ºJDKµÄ°æ±¾ºÍ³§¼Ò¾ö¶¨Ê¹ÓÃ-mxºÍ-ms»ò-XmxºÍ-Xms¡£Java¶Ñ´óС¾ö¶¨ÁËÀ¬»ø»ØÊÕµÄƵ¶ÈºÍËٶȣ¬Java¶ÑÔ½´ó£¬À¬»ø»ØÊÕµÄƵ¶ÈÔ½µÍ£¬ËÙ¶ÈÔ½Âý¡£Í¬Àí£¬Java¶ÑԽС£¬À¬»ø»ØÊÕµÄƵ¶ÈÔ½¸ß£¬ËÙ¶ÈÔ½¿ì¡£ÒªÏëÉèÖñȽÏÀíÏëµÄ²ÎÊý£¬»¹ÊÇÐèÒªÁ˽âһЩ»ù´¡ÖªÊ¶µÄ¡£ Java¶ÑµÄ×î´óÖµ²»ÄÜÌ«´ó£¬ÕâÑù»áÔì³ÉϵͳÄڴ汻Ƶ·±µÄ½»»»ºÍ·ÖÒ³¡£ËùÒÔ×î´óÄÚ´æ±ØÐëµÍÓÚÎïÀíÄÚ´æ¼õÈ¥ÆäËûÓ¦ÓóÌÐòºÍ½ø³ÌÐèÒªµÄÄÚ´æ¡£¶øÇÒ¶ÑÉèÖõÄÌ«´ó£¬Ôì³ÉÀ¬»ø»ØÊÕµÄʱ¼ä¹ý³¤£¬ÕâÑù½«µÃ²»³¥Ê§£¬¼«´óµÄÓ°Ïì³ÌÐòµÄÐÔÄÜ¡£ÒÔÏÂÊÇһЩ¾­³£Ê¹ÓõIJÎÊýÉèÖãº

¡¡¡¡1) ÉèÖÃ-XmsµÈÓÚ-XmXµÄÖµ£»

¡¡¡¡2) ¹À¼ÆÄÚ´æÖдæ»î¶ÔÏóËùÕ¼µÄ¿Õ¼äµÄ´óС£¬ÉèÖÃ-XmsµÈÓÚ´ËÖµ£¬-XmxËı¶ÓÚ´ËÖµ£»

¡¡¡¡3) ÉèÖÃ-XmsµÈÓÚ-XmxµÄ1/2´óС£»

¡¡¡¡4) ÉèÖÃ-Xms½éÓÚ-XmxµÄ1/10µ½1/4Ö®¼ä£»
¡¡¡¡
¡¡¡¡5) ʹÓÃĬÈϵÄÉèÖá£

¡¡¡¡´ó¼ÒÐèÒª¸ù¾Ý×Ô¼ºµÄÔËÐгÌÐòµÄ¾ßÌåʹÓó¡¾°£¬À´È·¶¨×îÊʺÏ×Ô¼ºµÄ²ÎÊýÉèÖᣠ³ýÁË-XmsºÍ-XmxÁ½¸ö×îÖØÒªµÄ²ÎÊýÍ⣬»¹Óкܶà¿ÉÄÜ»áÓõ½µÄ²ÎÊý£¬ÕâЩ²ÎÊýͨ³£Ç¿ÁÒµÄÒÀÀµÓÚÀ¬»øÊÕ¼¯µÄËã·¨£¬ËùÒÔ¿ÉÄÜÒòΪJDKµÄ°æ±¾ºÍ³§¼Ò¶øÓÐËù²»Í¬¡£µ«ÕâЩ²ÎÊýÒ»°ãÔÚWeb¿ª·¢ÖÐÓõıȽÏÉÙ£¬ÎҾͲ»×öÏêϸ½éÉÜÁË¡£ÔÚʵ¼ÊµÄÓ¦ÓÃÖÐ×¢ÒâÉèÖÃ-XmsºÍ-XmxʹÆ価¿ÉÄܵÄÓÅ»¯Ó¦ÓóÌÐò¾ ÍÐÐÁË¡£¶ÔÓÚÐÔÄÜÒªÇóºÜ¸ßµÄ³ÌÐò£¬¾ÍÐèÒª×Ô¼ºÔÙ¶àÑо¿Ñо¿JavaÐéÄâ»úºÍÀ¬»øÊÕ¼¯Ëã·¨µÄ»úÖÆÁË¡£¿ÉÒÔ¿´¿´²ÜÏþ¸Ö·­ÒëµÄ¡¶ÉîÈëJavaÐéÄâ»ú¡·Ò»Êé¡£

¡ü·µ»ØĿ¼
ǰһƪ: SpringÈëÃÅÖ¸ÒýÖ®Àí½âSpringµÄ´ò°ü·½Ê½
ºóһƪ: ʹÓÃAJAXµÄStrutsÑéÖ¤¿ò¼Ü_Java¿ªÔ´ÏîÄ¿_AJAX