ºìÁªLinuxÃÅ»§
Linux°ïÖú
µ±Ç°Î»ÖÃ: ºìÁªLinuxÃÅ»§ > ITÒµ½ç

Java¿ª·¢ÕßµÄÊ®½äÂÉ

·¢²¼Ê±¼ä:2010-06-06 13:17:40À´Ô´:ºìÁª×÷Õß:nuvax
ÓÐÐí¶à±ê×¼ºÍʵ¼ù×¼Ôò¿ÉÊÊÓÃÓÚJava¿ª·¢Õߣ¬µ«´Ë´¦ÒªËµµÄ£¬ÊÇÿ¸öJava¿ª·¢ÕßÐè¼áÊØµÄ»ù±¾Ô­Ôò¡££¨ËäÈ»±¾ÎÄÊÇÕë¶ÔJavaµÄ£¬µ«ÄÄÖÖÓïÑÔÓÖ²»ÊÇÈç´ËÄØ£¿£©


Ò»¡¢Îª´úÂë¼Ó×¢ÊÍ¡£ËäȻÿ¸öÈ˶¼ÖªµÀÕâµã£¬µ«ÓÐʱȴ²»×Ô¾õÍüÁËÂÄÐУ¬½ñÌìÄã¡°ÍüÁË¡±¼Ó×¢ÊÍÁËÂð£¿ËäÈ»×¢ÊͶԳÌÐòµÄ¹¦ÄÜûʲô¡°¹±Ïס±£¬µ«¹ýÒ»¶Îʱ¼ä£¬±ÈÈç˵Á½ÐÇÆÚÖ®ºó»òÕ߸ü³¤£¬»Ø¹ýÍ·À´¿´¿´×Ô¼ºµÄ´úÂ룬˵²»¶¨ÒѾ­¼Ç²»×¡ËüÊǸÉʲôµÄÁË¡£Èç¹ûÕâЩ´úÂëÊÇÄã¸öÈ˵ģ¬ÄÇ»¹ËãÊÇ×ßÔËÁË£¬²»ÐÒµÄÊÇ£¬µ±È»ÁË£¬´ó¶àÊýʱºò¶¼ÊDZðÈ˵IJ»ÐÒ£¬ºÜ¶àʱºò´ó¼Ò¶¼ÊÇÔÚΪ¹«Ë¾Ð´´úÂ룬д´úÂëµÄÈËÒ²ÐíÔçÒѾ­À뿪Á˹«Ë¾£¬µ«±ðÍüÁËÒ»¾ä¹Å»°£¬ÓÐÀ´ÓÐÍùÂΪËûÈË£¬Ò²ÎªÎÒÃÇ×Ô¼º£¬ÇëΪÄãµÄ´úÂë¼ÓÉÏ×¢ÊÍ¡£


¶þ¡¢²»ÒªÈÃÊÂÇ鸴ÔÓ»¯¡£³ÌÐòÔ±ÓÐʱºò×ÜÊǶԼòµ¥ÎÊÌâÏë³ö¸´ÔӵĽâ¾ö·½°¸£¬±ÈÈç˵£¬ÔÚÖ»ÓÐÎå¸öÓû§µÄ³ÌÐòÖÐÒýÈëEJB¡¢¶Ô³ÌÐòʵÏÖÁ˲¢²»ÐèÒªµÄ¿ò¼Ü£¨framework£©£¬Ö®ÀàµÄ»¹ÓÐÊôÐÔÎļþ¡¢ÃæÏò¶ÔÏó½â¾ö·½°¸¡¢¶àÏ̵߳ȵȡ£ÎªÊ²Ã´ÒªÕâÑù×öÄØ£¿Ò²ÐíÎÒÃDz¢²»ÖªµÀÊÇ·ñÕâÑù»á¸üºÃ£¬µ«ÕâÑù×öÒ²Ðí¿ÉÒÔѧµ½Ò»Ð©Ð¶«Î÷£¬»òÕßÈÃ×Ô¼º¸ü¸ÐÐËȤһЩ¡£Èç¹ûÊDz»ÖªµÀΪʲôÕâÑù×ö£¬½¨Òé¶àÇë½Ì¾­Ñé·á¸»µÄ³ÌÐòÔ±£¬Èç¹ûÊÇΪÁ˸öÈ˵ÄÄ¿µÄ£¬Âé·³ÈÃ×Ô¼º¸üרҵһµã¡£


Èý¡¢Ê¼ÖÕÀμÇ----¡°ÉÙ¼´ÊǺã¨Less is more£©²¢²»×ÜÊǶԵġ±¡£´úÂëЧÂÊËäÈ»ºÜÖØÒª£¬µ«ÔÚÐí¶à½â¾ö·½°¸ÖУ¬±àд¸üÉٵĴúÂë²¢²»ÄܸÄÉÆÕâЩ´úÂëµÄЧÂÊ£¬Çë¿´ÏÂÃæÕâ¸ö¼òµ¥µÄÀý×Ó£º

if(newStatusCode.equals("SD") && (sellOffDate == null ||
todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
todayDate.compareTo(lastUsedDate)>0)) ||
(newStatusCode.equals("OBS") && (OBSDate == null ||
todayDate.compareTo(OBSDate)<0))){
newStatusCode = "NYP";
}

ÄÜ¿´Ã÷°×ifÌõ¼þÓï¾äÊǸÉʲôµÄÂð£¿ÄÜÏë³öÀ´ÊÇ˭дµÄÕâ¶Î´úÂëÂð£¿Èç¹û°ÑËü·Ö³ÉÁ½¶Î¶ÀÁ¢µÄifÓï¾ä£¬ÊDz»ÊǸüÈÝÒ×Àí½âÄØ£¬ÏÂÃæÊÇÐ޸ĺóµÄ´úÂ룺


if(newStatusCode.equals("SD") && (sellOffDate == null ||
todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
todayDate.compareTo(lastUsedDate)>0))){
newStatusCode = "NYP";
}else
if(newStatusCode.equals("OBS") && (OBSDate == null ||
todayDate.compareTo(OBSDate)<0))
{
newStatusCode = "NYP";
}


ÊDz»ÊǶÁÆðÀ´ÈÝÒ×¶àÁËÄØ£¬ÔÚ´ËÖ»ÊǶà¼ÓÁËÒ»¸öifºÍÁ½¸ö»¨À¨ºÅ£¬µ«´úÂëµÄ¿É¶ÁÐÔÓë¿ÉÀí½âÐÔ¾ÍÒ»ÏÂ×ÓÌá¸ßÁËÒ»´ó½Ø¡£


ËÄ¡¢Çë²»ÒªÓ²±àÂë¡£¿ª·¢Õß¾­³£ÓÐÒâ¡°Íü¼Ç¡±»òºöÂÔµôÕâµã£¬ÒòΪÓÐЩʱºò¿ª·¢Èճ̱ƵÃʵÔÚÌ«½ô¡£Æäʵ£¬¶àдһÐж¨Ò徲̬±äÁ¿µÄ´úÂëÄÜ»¨¶àÉÙʱ¼äÄØ£¿


public class A {

public static final String S_CONSTANT_ABC = "ABC";

public boolean methodA(String sParam1){

if (A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1)){
return true;
}
return false;
}
}


ÏÖÔÚ£¬Ã¿´ÎÐèÒª½«¡°ABC¡±ÓëÆäËû±äÁ¿½øÐбȽÏʱ£¬²»±Ø¼Çסʵ¼Ê´úÂ룬ֱ½ÓÒýÓÃA.S_CONSTANT_ABC¾ÍÐÐÁË£¬¶øÇÒÔÚ½ñºóÐèÒª½øÐÐÐÞ¸Äʱ£¬Ò²¿ÉÔÚÒ»´¦Ð޸쬲»»á·­±éÕû¸öÔ´´úÂëÖð¸öÐÞ¸ÄÁË¡£


Îå¡¢²»Òª¡°´´Ô족×Ô¼ºµÄ¿ò¼Ü£¨framework£©¡£È·ÇÐÀ´Ëµ£¬ÓÐÊýÒÔǧ¼ÆµÄ¸÷ÖÖ¿ò¼Ü´æÔÚ£¬¶øÇÒ´ó¶àÊýÊÇ¿ªÔ´µÄ£¬ÕâЩ¿ò¼Ü¶¼ÊÇÓÅÐãµÄ½â¾ö·½°¸£¬¿ÉÓÃÓÚÈÕ³£³ÌÐò¿ª·¢ÖУ¬ÎÒÃÇÖ»ÐèʹÓÃÕâЩ¿ò¼ÜµÄ×îа汾¾ÍÐÐÁË£¬ÖÁÉÙ±íÃæÉÏÒª¸úÉÏÐÎÊÆ°É¡£±»´ó¼Ò¹ãΪ½ÓÊܵÄ×îΪÃ÷ÏÔµÄÒ»¸öÀý×Ó¾ÍÊÇStrutsÁË£¬Õâ¸ö¿ªÔ´web¿ò¼Ü·Ç³£ÊʺÏÓÃÔÚ»ùÓÚwebµÄÓ¦ÓóÌÐòÖС£ÊDz»ÊÇÏ뿪·¢³ö×Ô¼ºµÄStrutsÄØ£¬»¹ÊÇÊ¡µãÁ¦Æø°É£¬»ØÍ·¿´¿´µÚ¶þÌõ----²»ÒªÈÃÊÂÇ鸴ÔÓ»¯¡£ÁíÍ⣬Èç¹ûÕýÔÚ¿ª·¢µÄ³ÌÐòÖ»ÓÐ3¸ö´°¿Ú£¬¾Í²»ÒªÊ¹ÓÃStrutsÁË£¬¶ÔÕâÖÖ³ÌÐòÀ´Ëµ£¬²»ÐèÒªÄÇô¶àµÄ¡°¿ØÖÆ¡±¡£


Áù¡¢²»ÒªÊ¹ÓÃprintln¼°×Ö·û´®Á¬½Ó¡£Í¨³£ÎªÁ˵÷ÊÔ·½±ã£¬¿ª·¢Õßϲ»¶ÔÚ¿ÉÄܵÄËùÓеط½¶¼¼ÓÉÏSystem.out.println£¬Ò²Ðí»¹»áÌáÐÑ×Ô¼º»Ø¹ýÍ·À´ÔÙÀ´É¾³ý£¬µ«ÓÐЩʱºò£¬¾­³£»áÍüÁËɾ³ý»òÕß²»Ô¸Òâɾ³ýËüÃÇ¡£¼ÈȻʹÓÃSystem.out.printlnÊÇΪÁ˲âÊÔ£¬ÄÇô²âÊÔÍêÖ®ºó£¬ÎªÊ²Ã´»¹ÒªÁô×ÅËüÃÇÄØ£¬ÒòΪÔÚɾ³ýʱ£¬ºÜ¿ÉÄÜ»áɾ³ýµôÕæÕýÓÐÓõĴúÂ룬ËùÒÔ²»Äܵ͹ÀSystem.out.printlnΣº¦°¡£¬Çë¿´ÏÂÃæµÄ´úÂ룺


public class BadCode {
public static void calculationWithPrint(){
double someValue = 0D;
for (int i = 0; i < 10000; i++) {
System.out.println(someValue = someValue + i);
}
}
public static void calculationWithOutPrint(){

double someValue = 0D;
for (int i = 0; i < 10000; i++) {
someValue = someValue + i;
}

}
public static void main(String [] n) {
BadCode.calculationWithPrint();
BadCode.calculationWithOutPrint();
}
}


´Ó²âÊÔÖпÉÒÔ·¢ÏÖ£¬·½·¨calculationWithOutPrint()Ö´ÐÐÓÃÁË0.001204Ã룬×÷Ϊ¶Ô±È£¬·½·¨ calculationWithPrint()Ö´ÐпÉÊÇÓÃÁË10.52Ãë¡£
Òª±ÜÃâÀË·ÑCPUʱ¼ä£¬×îºÃµÄ·½·¨ÊÇÒýÈëÏñÈçϵİü×°·½·¨£º


public class BadCode {

public static final int DEBUG_MODE = 1;
public static final int PRODUCTION_MODE = 2;

public static void calculationWithPrint(int logMode){
double someValue = 0D;
for (int i = 0; i < 10000; i++) {
someValue = someValue + i;
myPrintMethod(logMode, someValue);
}
}

public static void myPrintMethod(int logMode, double value) {
if (logMode > BadCode.DEBUG_MODE) { return; }
System.out.println(value);
}
public static void main(String [] n) {
BadCode.calculationWithPrint(BadCode.PRODUCTION_MODE);
}
}


ÁíÍ⣬×Ö·û´®Á¬½ÓÒ²ÊÇÀË·ÑCPUʱ¼äµÄÒ»¸ö´óÍ·£¬Çë¿´ÏÂÃæµÄʾÀý´úÂ룺


public static void concatenateStrings(String startingString) {
for (int i = 0; i < 20; i++) {
startingString = startingString + startingString;
}
}

public static void concatenateStringsUsingStringBuffer(String startingString) {
StringBuffer sb = new StringBuffer();
sb.append(startingString);
for (int i = 0; i < 20; i++) {
sb.append(sb.toString());
}
}


ÔÚ²âÊÔÖпɷ¢ÏÖ£¬Ê¹ÓÃStringBufferµÄ·½·¨Ö»ÓÃÁË0.01ÃëÖ´ÐÐÍê±Ï£¬¶øÊ¹ÓÃÁ¬½ÓµÄ·½·¨ÔòÓÃÁË0.08Ã룬ѡÔñÏÔ¶øÒ×¼ûÁË¡£


Æß¡¢¶à¹Ø×¢GUI£¨Óû§½çÃæ£©¡£ÔÙÈýÇ¿µ÷£¬GUI¶ÔÉÌÒµ¿Í»§À´Ëµ£¬Óë³ÌÐòµÄ¹¦Äܼ°Ð§ÂÊͬµÈÖØÒª£¬GUIÊÇÒ»¸ö³É¹¦³ÌÐòµÄ×î»ù±¾²¿·Ö£¬¶øºÜ¶àIT¾­ÀíÍùÍù¶¼Ã»×¢Òâµ½GUIµÄÖØÒªÐÔ¡£ÔÚÏÖʵÉú»îÖУ¬Ðí¶à¹«Ë¾¿ÉÄÜΪÁ˽ÚÊ¡¿ªÖ§£¬Ã»ÓйÍÓÃÄÇЩÓÐ×ÅÉè¼Æ¡°Óû§ÓѺá±½çÃæ·á¸»¾­ÑéµÄÍøÒ³Éè¼ÆÕߣ¬´ËʱJava¿ª·¢ÕßÖ»ÄÜÒÀÀµËûÃÇ×ÔÉíµÄHTML»ù±¾¹¦¼°ÔÚ´ËÁìÓòÓÐÏÞµÄ֪ʶ£¬½á¹û£¬ºÜ¶à¿ª·¢³öÀ´µÄ³ÌÐò¶¼ÊÇ¡°¼ÆËã»úÓѺá±ÉõÓÚ¡°Óû§ÓѺᱡ£ºÜÉÙÓпª·¢Õßͬʱ¾«Í¨Èí¼þ¿ª·¢¼° GUIÉè¼Æ£¬Èç¹ûÄãÔÚ¹«Ë¾¡°²»ÐÒ¡±±»·ÖÅ为Ôð³ÌÐò½çÃæ£¬¾ÍÓ¦¸Ã×ñÊØÏÂÃæÈýÌõÔ­Ôò£º

1¡¢ ²»ÒªÔÙ·¢Ã÷Ò»´ÎÂÖ×Ó£¬¼´²»×öÎÞÓù¦¡£ÏÖÓеijÌÐò¿ÉÄÜ»áÓÐÀàËÆµÄ½çÃæÐèÇó¡£
2¡¢ ÏÈ´´½¨Ò»¸öÔ­ÐÍ¡£ÕâÊǷdz£ÖØÒªÒ»²½£¬Óû§Ò»°ãÏë¿´µ½ËûÃǽ«Ê¹ÓõĶ«Î÷£¬¶øÇÒ¿ÉÒÔÏÈÀûÓÃÕâ¸öÔ­ÐÍÕ÷ÇóÓû§µÄÒâ¼û£¬ÔÙÂýÂýÐ޸ijÉÓû§ÏëÒªµÄÑù×Ó¡£
3¡¢ ѧ»á»»Î»Ë¼¿¼¡£»»¾ä»°À´Ëµ£¬¾ÍÊÇ´ÓÓû§µÄ½Ç¶ÈÀ´Éó²é³ÌÐòµÄÐèÇó¡£¾ÙÀýÀ´½²£¬Ò»¸ö»ã×ܵĴ°¿Ú¿ÉÒÔ¿çÒ³»òÕß²»¿çÒ³£¬×÷Ϊһ¸öÈí¼þ¿ª·¢Õߣ¬¿ÉÄÜ»áÇãÏòÓÚ²»¿çÒ³£¬ÒòΪÕâÑù¼òµ¥Ò»Ð©¡£µ«ÊÇ£¬´ÓÓû§µÄ½Ç¶ÈÀ´¿´£¬¿ÉÄܲ»Ï£Íû¿´µ½ÉϰÙÐÐÊý¾Ý¶¼¼·ÔÚͬһҳÉÏ¡£


°Ë¡¢ÎĵµÐèÇó²»·ÅËÉ¡£Ã¿¸öÉÌÒµÐèÇó¶¼±ØÐë¼Ç¼ÔÚ°¸£¬Õâ¿ÉÄÜÌýÉÏÈ¥Ïñͯ»°£¬ËƺõÔÚÏÖʵÉú»îÖкÜÄÑʵÏÖ¡£¶øÎÒÃÇÒª×öµÄÊÇ£¬²»¹Ü¿ª·¢Ê±¼ä¶à½ôÆÈ£¬²»¹Ü×îÖÕÆÚÏÞ¶àÁÙ½ü£¬¶Ôÿ¸öÉÌÒµÐèÇó¶¼±ØÐë¼Ç¼ÔÚ°¸¡£


¾Å¡¢µ¥Ôª²âÊÔ¡¢µ¥Ôª²âÊÔ¡¢µ¥Ôª²âÊÔ¡£¹ØÓÚʲôÊǵ¥Ôª²âÊÔµÄ×îºÃ·½·¨£¬Ôڴ˲»±ãϸ˵£¬Ö»ÊÇÇ¿µ÷£¬µ¥Ôª²âÊÔÒ»¶¨ÒªÍê³É£¬ÕâÒ²ÊDZà³ÌÖÐ×î»ù±¾µÄÔ­Ôò¡£µ±È»ÁË£¬Èç¹ûÓÐÈ˰ïÄã×öµ¥Ôª²âÊÔ×ÔÈ»ÊÇ×îºÃ£¬Èç¹ûûÓУ¬¾Í×Ô¼ºÀ´×ö°É£¬µ±´´½¨Ò»¸öµ¥Ôª²âÊԼƻ®Ê±£¬Çë×ñÊØÒÔÏÂÈýÌõ×î»ù±¾µÄÔ­Ôò£º

1¡¢ ÏÈÓÚ±àдÀà´úÂë֮ǰ±àдµ¥Ôª²âÊÔ¡£
2¡¢ ¼Ç¼µ¥Ôª²âÊÔÖеĴúÂë×¢ÊÍ¡£
3¡¢ ²âÊÔËùÓÐÖ´Ðйؼü¹¦ÄܵĹ«Óз½·¨£¬ÕâÀï²»ÊÇÖ¸setºÍget·½·¨£¬³ý·ÇËüÃÇÊÇÒÔ×Ô¼º¶ÀÌØ·½Ê½Ö´ÐÐsetºÍget·½·¨¡£


Ê®¡¢ÖÊÁ¿£¬¶ø²»ÊÇÊýÁ¿¡£ÓÐЩʱºòÒòΪ²úÆ·ÎÊÌâ¡¢ÆÚÏÞ½ôÆÈ¡¢»òһЩԤÁÏÖ®ÍâµÄÊÂÇ飬µ¼Ö³£³£²»Äܰ´Ê±Ï°࣬µ«Ò»°ã¶øÑÔ£¬¹«Ë¾²»»áÒòΪ¹ÍÔ±¾­³£¼Ó°à¶ø¶ÔÖ®±íÑïºÍ½±Àø£¬¹«Ë¾Ö»¿´ÖظßÖÊÁ¿µÄ¹¤×÷¡£Èç¹û×ñÊØÁËǰ¾ÅÌõÔ­Ôò£¬Äã»á·¢ÏÖ×Ô¼ºÐ´³öµÄ´úÂëbugÉÙÇÒ¿Éά»¤ÐԸߣ¬ÎÞÐÎÖÐÖÊÁ¿Ìá¸ßÁËÒ»´ó²½¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ