Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

²»´íµÄ¾­µäÎÄÕ£ºjavaÌáËÙ

JavaÓïÑÔÌØ±ðÇ¿µ÷׼ȷÐÔ£¬µ«¿É¿¿µÄÐÐΪҪÒÔÐÔÄÜ×÷Ϊ´ú¼Û¡£ÕâÒ»ÌØµã·´Ó³ÔÚ×Ô¶¯ÊÕ¼¯À¬»ø¡¢ÑϸñµÄÔËÐÐÆÚ¼ì²é¡¢ÍêÕûµÄ×Ö½ÚÂë¼ì²éÒÔ¼°±£ÊصÄÔËÐÐÆÚͬ²½µÈµÈ·½Ãæ¡£¶ÔÒ»¸ö½âÊÍÐ͵ÄÐéÄâ»úÀ´Ëµ£¬ÓÉÓÚĿǰÓдóÁ¿Æ½Ì¨¿É¹©ÌôÑ¡£¬ËùÒÔ½øÒ»²½×è°­ÁËÐÔÄܵķ¢»Ó¡£
“ÏÈ×öÍêËü£¬ÔÙÖð²½ÍêÉÆ¡£ÐÒºÃÐèÒª¸Ä½øµÄµØ·½Í¨³£²»»áÌ«¶à¡£”£¨Steve McConnellµÄ¡¶About performance¡·[16]£©
±¾¸½Â¼µÄ×ÚÖ¼¾ÍÊÇÖ¸µ¼´ó¼ÒѰÕÒºÍÓÅ»¯“ÐèÒªÍêÉÆµÄÄÇÒ»²¿·Ö”¡£
D.1 »ù±¾·½·¨
Ö»ÓÐÕýÈ·ºÍÍêÕûµØ¼ì²âÁ˳ÌÐòºó£¬ÔÙ¿É×ÅÊÖ½â¾öÐÔÄÜ·½ÃæµÄÎÊÌ⣺
(1) ÔÚÏÖʵ»·¾³Öмì²â³ÌÐòµÄÐÔÄÜ¡£Èô·ûºÏÒªÇó£¬ÔòÄ¿±ê´ïµ½¡£Èô²»·ûºÏ£¬Ôòתµ½ÏÂÒ»²½¡£
(2) ѰÕÒ×îÖÂÃüµÄÐÔÄÜÆ¿¾±¡£ÕâÒ²ÐíÒªÇóÒ»¶¨µÄ¼¼ÇÉ£¬µ«ËùÓÐŬÁ¦¶¼²»»á°×·Ñ¡£Èç¼òµ¥µØ²Â²âÆ¿¾±ËùÔÚ£¬²¢ÊÔͼ½øÐÐÓÅ»¯£¬ÄÇô¿ÉÄÜÊǰ׻¨Ê±¼ä¡£
(3) ÔËÓñ¾¸½Â¼½éÉܵÄÌáËÙ¼¼Êõ£¬È»ºó·µ»Ø²½Öè1¡£
Ϊ
ʹŬÁ¦²»ÖÁ°×·Ñ£¬Æ¿¾±µÄ¶¨Î»ÊÇÖÁ¹ØÖØÒªµÄÒ»»·¡£Donald
Knuth[9]Ôø¸Ä½ø¹ýÒ»¸ö³ÌÐò£¬ÄǸö³ÌÐò°Ñ50£¥µÄʱ¼ä¶¼»¨ÔÚÔ¼4£¥µÄ´úÂëÁ¿ÉÏ¡£ÔÚ½öÒ»¸ö¹¤×÷СʱÀËûÐÞ¸ÄÁ˼¸ÐдúÂ룬ʹ³ÌÐòµÄÖ´ÐÐËٶȱ¶Ôö¡£´Ë
ʱ£¬Èô½«Ê±¼ä¼ÌÐøÍ¶È뵽ʣÓà´úÂëµÄÐÞ¸ÄÉÏ£¬ÄÇôֻ»áµÃ²»³¥Ê§¡£KnuthÔÚ±à³Ì½çÓÐÒ»¾äÃûÑÔ£º“¹ýÔçµÄÓÅ»¯ÊÇÒ»ÇÐÂé·³µÄ¸ùÔ´”£¨Premature
optimization is the root of all
evil£©¡£×îÃ÷ÖǵÄ×ö·¨ÊÇÒÖÖÆ¹ýÔçÓÅ»¯µÄ³å¶¯£¬ÒòΪÄÇÑù×ö¿ÉÄÜÒÅ©¶àÖÖÓÐÓõıà³Ì¼¼Êõ£¬Ôì³É´úÂë¸üÄÑÀí½âºÍ²Ù¿Ø£¬²¢Ðè¸ü´óµÄ¾«Á¦½øÐÐά»¤¡£
D.2 ѰÕÒÆ¿¾±
ΪÕÒ³ö×îÓ°Ïì³ÌÐòÐÔÄܵį¿¾±£¬¿É²ÉÈ¡ÏÂÊö¼¸ÖÖ·½·¨£º
D.2.1 °²²å×Ô¼ºµÄ²âÊÔ´úÂë
²åÈëÏÂÊö“ÏÔʽ”¼ÆÊ±´úÂ룬¶Ô³ÌÐò½øÐÐÆÀ²â£º
long start = System.currentTimeMillis();
// Òª¼ÆÊ±µÄÔËËã´úÂë·ÅÔÚÕâ¶ù
long time = System.currentTimeMillis() - start;
Àû
ÓÃSystem.out.println()£¬ÈÃÒ»ÖÖ²»³£Óõ½µÄ·½·¨½«ÀÛ»ýʱ¼ä´òÓ¡µ½¿ØÖÆÌ¨´°¿Ú¡£ÓÉÓÚÒ»µ©³ö´í£¬±àÒëÆ÷»á½«ÆäºöÂÔ£¬ËùÒÔ¿ÉÓÃÒ»¸ö“¾²Ì¬×î
ÖÕ²¼¶ûÖµ”£¨Static final
boolean£©´ò¿ª»ò¹Ø±Õ¼ÆÊ±£¬Ê¹´úÂëÄÜ·ÅÐÄÁôÔÚ×îÖÕ·¢ÐеijÌÐòÀÕâÑùÈκÎʱºò¶¼¿ÉÒÔÄÃÀ´Ó¦¼±¡£¾¡¹Ü»¹¿ÉÒÔÑ¡Óøü¸´ÔӵįÀ²âÊֶΣ¬µ«Èô½ö½öΪÁËÁ¿¶ÈÒ»
¸öÌØ¶¨ÈÎÎñµÄÖ´ÐÐʱ¼ä£¬ÕâÎÞÒÉÊÇ×î¼ò±ãµÄ·½·¨¡£
System.currentTimeMillis()·µ»ØµÄʱ¼äÒÔǧ·ÖÖ®Ò»Ã루1ºÁÃ룩Ϊµ¥Î»¡£È»¶ø£¬ÓÐЩϵͳµÄʱ¼ä¾«¶ÈµÍÓÚ1ºÁÃ루ÈçWindows PC£©£¬ËùÒÔÐèÒªÖØ¸´n´Î£¬ÔÙ½«×Üʱ¼ä³ýÒÔn


Ïà¹ØÎĵµ£º

java±à³Ì˼Ïë¶ÁÊé±Ê¼Ç

¶ÔÏó¾ßÓÐ״̬,ÐÐΪ,±êʶ.¶ÔÏóµÄÎå¸ö»ù±¾ÌØÐÔ:
    ÍòÎï½Ô¶ÔÏó,³éÈ¡´ýÇó½âÎÊÌâµÄÈκθÅÄ¹¹¼þ,½«Æä±íʾΪ³ÌÐòÖеĶÔÏó
    ³ÌÐòÊǶÔÏóµÄ¼¯ºÏ,ËûÃÇͨ¹ý·¢ËÍÏûÏ¢À´¸æÖª±Ë´ËËùÒª×öµÄ
    Ã¿¸ö¶ÔÏó¶¼ÓÐ×Ô¼ºµÄÓÉÆäËû¶ÔÏóËù¹¹³ÉµÄ´æ´¢,´´½¨°üº¬ËùÓжÔÏóµÄ°üµ ......

javaÖеÄSystem.currentTimeMillis()º¯Êý

System.currentTimeMillis()£º¿ÉÒÔÌáÈ¡µ½µ±Ç°Ê±¼äµÄºÁÃëÊý£¬²úÉúÒ»¸öµ±Ç°µÄºÁÃ룬Õâ¸öºÁÃëÆäʵ¾ÍÊÇ×Ô1970Äê1ÔÂ1ÈÕ0ʱÆðµÄºÁÃëÊý¡£
³£¼û×÷ÓãºÒ»°ã¶¼ÊÇÓÃ2¸öʱ¼äµÄ²îÖµÀ´µÃµ½ÔËÐÐʱ¼äµÄ£¬³£ÓÃÀ´±È½Ï2¸öËã·¨µÄЧÂÊ£¡
long start = System.currentTimeMillis();
  // ÕâÀï¿ÉÒÔ¼ÓÉÏÄãÒªÖªµÀµÄ·½·¨ÔËÐеÄʱ¼ä£¡£¡
......

Java³ý·¨½á¹û´øÐ¡Êý¡¢½øÒ»·¨µÄʵÏÖ

½øÒ»·¨£º ¼´Ê¡ÂÔµÄλÉÏÖ»Òª´óÓÚÁã¶¼Òª½øÒ»Î» £»
ËÄÉáÎåÈë·¨£º ¼´Ê¡ÂÔµÄλÉÏСÓÚÎå¶¼ÒªÉáÈ¥£¬µ«Ê¡ÂÔµÄλÉÏÂúÎå¶¼Òª½øÒ»Î» £»
»¹ÓÐÒ»ÖÖ
ȥβ·¨£º ¼´Ê¡ÂÔµÄλÉϲ»¹ÜÊÇ·ñÂúÎå¶¼ÒªÉáÈ¥ £»
1¡¢³ý·¨´øÐ¡Êý
ÀýÈ磺
  int a = 8;
  int b = 3;
  int c = ((double)la)/b;
  System.out.println(c); ......

¾ÞÈËÍøÂçjava±ÊÊÔ»ù´¡Ìâ

1¡¢StringÊÇ×î»ù±¾µÄÊý¾ÝÀàÐÍÂð?
»ù±¾Êý¾ÝÀàÐͰüÀ¨byte¡¢int¡¢char¡¢long¡¢float¡¢double¡¢booleanºÍshort¡£
java.lang.StringÀàÊÇfinalÀàÐ͵ģ¬Òò´Ë²»¿ÉÒԼ̳ÐÕâ¸öÀà¡¢²»ÄÜÐÞ¸ÄÕâ¸öÀࡣΪÁËÌá¸ßЧÂʽÚÊ¡¿Õ¼ä£¬ÎÒÃÇÓ¦¸ÃÓÃStringBufferÀà
2¡¢int ºÍ Integer ÓÐÊ²Ã´Çø±ð
Java ÌṩÁ½ÖÖ²»Í¬µÄÀàÐÍ£ºÒýÓÃÀàÐͺÍԭʼÀàÐÍ£¨ ......

ÓÅ»¯Java¶¯»­±à³ÌÖеÄÏÔʾЧ¹û

Java¶¯»­±à³ÌÓжàÖÖʵÏÖ·½·¨£¬µ«ËüÃÇʵÏֵĻù±¾Ô­ÀíÊÇÒ»ÑùµÄ£¬¼´ÔÚÆÁÄ»ÉÏ»­³öһϵÁеÄÖ¡À´Ôì³ÉÔ˶¯µÄ¸Ð¾õ¡£Java¶àÏ̼߳¼ÊõÊÇJava¶¯»­±à³ÌÖÐÆÕ±éÔËÓõļ¼Êõ£¬ËüÔÚ¿ØÖƶ¯»­³ÌÐòµÄÁ÷³ÌºÍ¶¯»­µÄÏÔʾЧ¹û·½ÃæÆð×ÅÖØÒªµÄ×÷Óá£Java¶¯»­±à³ÌÖе͝»­ÉÁ˸ºÍͼÏñ²Ðȱ²»È«µÈÏÖÏó£¬ÊÇJava³ÌÐòÔ±¾­³£Óöµ½µÄÎÊÌâ¡£±¾ÎÄÒÔ×÷ÕßÓ¦ÓÃʵÀý³ÌÐò ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ