Java

±¾ÀàÔĶÁTOP10

¡¤Ê¹ÓÃMyEclipse¿ª·¢Struts¿ò¼ÜµÄHello World!(¼Ïñ1)
¡¤hibernateÅäÖñʼÇ
¡¤AOP±à³ÌÈëÃÅ--Javaƪ
¡¤linuxÏÂTomcat 5.0.20 Óë Apache 2 °²×°/¼¯³É/ÅäÖÃ
¡¤ÔÚwin2003ÏÂÕûºÏÁËÕûºÏTomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
¡¤¹¹½¨LinuxÏÂIDE»·¾³--Eclipseƪ
¡¤Jsp Á¬½Ó mySQL¡¢Oracle Êý¾Ý¿â±¸Íü(Windowsƽ̨)
¡¤ASP¡¢JSP¡¢PHP ÈýÖÖ¼¼Êõ±È½Ï
¡¤Tomcat5.5.9µÄ°²×°ÅäÖÃ
¡¤AWT GUI Éè¼Æ±Ê¼Ç(¶þ)

¡ú ·ÖÀർº½
VCÓïÑÔDelphi
VBÓïÑÔASP
PerlJava
ScriptÊý¾Ý¿â
ÆäËûÓïÑÔÓÎÏ·¿ª·¢
Îļþ¸ñÊ½ÍøÕ¾ÖÆ×÷
Èí¼þ¹¤³Ì.NET¿ª·¢
ÉîÈëdz³ö»ùÓÚJavaµÄ½âÊÍÆ÷Éè¼ÆÄ£Ê½

×÷ÕߣºÎ´Öª À´Ô´£ºÔ¹âÈí¼þÕ¾ ¼ÓÈëʱ¼ä£º2005-2-28¡¡Ô¹âÈí¼þÕ¾

¡¡¡¡Ò»¡¢Òý×Ó

¡¡¡¡ÆäʵûÓÐʲôºÃµÄÀý×ÓÒýÈë½âÊÍÆ÷ģʽ£¬ÒòΪËüÃèÊöÁËÈçºÎ¹¹³ÉÒ»¸ö¼òµ¥µÄÓïÑÔ½âÊÍÆ÷£¬Ö÷ÒªÓ¦ÓÃÔÚʹÓÃÃæÏò¶ÔÏóÓïÑÔ¿ª·¢±àÒëÆ÷ÖУ»ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÎÒÃÇ¿ÉÄܺÜÉÙÅöµ½È¥¹¹ÔìÒ»¸öÓïÑÔµÄÎÄ·¨µÄÇé¿ö¡£

¡¡¡¡ËäÈ»Ä㼸ºõÓò»µ½Õâ¸öģʽ£¬µ«ÊÇ¿´Ò»¿´»¹ÊÇÄÜÊܵ½Ò»¶¨µÄÆô·¢µÄ¡£

¡¡¡¡¶þ¡¢¶¨ÒåÓë½á¹¹

¡¡¡¡½âÊÍÆ÷ģʽµÄ¶¨ÒåÈçÏ£º¶¨ÒåÓïÑÔµÄÎÄ·¨£¬²¢ÇÒ½¨Á¢Ò»¸ö½âÊÍÆ÷À´½âÊ͸ÃÓïÑÔÖеľä×Ó¡£ËüÊôÓÚÀàµÄÐÐΪģʽ¡£ÕâÀïµÄÓïÑÔÒâ˼ÊÇʹÓù涨¸ñʽºÍÓï·¨µÄ´úÂë¡£

¡¡¡¡ÔÚGOFµÄÊéÖÐÖ¸³ö£ºÈç¹ûÒ»ÖÖÌØ¶¨ÀàÐ͵ÄÎÊÌâ·¢ÉúµÄƵÂÊ×ã¹»¸ß£¬ÄÇô¿ÉÄܾÍÖµµÃ½«¸ÃÎÊÌâµÄ¸÷¸öʵÀý±íÊöΪһ¸ö¼òµ¥ÓïÑÔÖеľä×Ó¡£ÕâÑù¾Í¿ÉÒÔ¹¹½¨Ò»¸ö½âÊÍÆ÷£¬¸Ã½âÊÍÆ÷ͨ¹ý½âÊÍÕâЩ¾ä×ÓÀ´½â¾ö¸ÃÎÊÌâ¡£¶øÇÒµ±ÎÄ·¨¼òµ¥¡¢Ð§Âʲ»ÊǹؼüÎÊÌâµÄʱºòЧ¹û×îºÃ¡£

¡¡¡¡ÕâÒ²¾ÍÊǽâÊÍÆ÷ģʽӦÓõĻ·¾³ÁË¡£

¡¡¡¡ÈÃÎÒÃÇÀ´¿´¿´ÉñÃØµÄ½âÊÍÆ÷ģʽÊÇÓÉʲôÀ´×é³ÉµÄ°É¡£

¡¡¡¡1) ³éÏó±í´ïʽ½ÇÉ«£ºÉùÃ÷Ò»¸ö³éÏóµÄ½âÊͲÙ×÷£¬Õâ¸ö½Ó¿ÚΪËùÓоßÌå±í´ïʽ½ÇÉ«£¨³éÏóÓï·¨Ê÷ÖеĽڵ㣩¶¼ÒªÊµÏֵġ£

¡¡¡¡Ê²Ã´½Ð×ö³éÏóÓï·¨Ê÷ÄØ£¿¡¶javaÓëģʽ¡·ÖиøµÄ½âÊÍΪ£º³éÏóÓï·¨Ê÷µÄÿһ¸ö½Úµã¶¼´ú±íÒ»¸öÓï¾ä£¬¶øÔÚÿ¸ö½ÚµãÉ϶¼¿ÉÒÔÖ´ÐнâÊÍ·½·¨¡£Õâ¸ö½âÊÍ·½·¨µÄÖ´Ðоʹú±íÕâ¸öÓï¾ä±»½âÊÍ¡£ÓÉÓÚÿһ¸öÓï¾ä¶¼´ú±íÕâ¸öÓï¾ä±»½âÊÍ¡£ÓÉÓÚÿһ¸öÓï¾ä¶¼´ú±íÒ»¸ö³£¼ûµÄÎÊÌâµÄʵÀý£¬Òò´Ëÿһ¸ö½ÚµãÉϵĽâÊͲÙ×÷¶¼´ú±í¶ÔÒ»¸öÎÊÌâʵÀýµÄ½â´ð¡£

¡¡¡¡2) ÖÕ½á·û±í´ïʽ½ÇÉ«£º¾ßÌå±í´ïʽ¡£

¡¡¡¡a) ʵÏÖÓëÎÄ·¨ÖеÄÖÕ½á·ûÏà¹ØÁªµÄ½âÊͲÙ×÷

¡¡¡¡b) ¶øÇÒ¾ä×ÓÖеÄÿ¸öÖÕ½á·ûÐèÒª¸ÃÀàµÄÒ»¸öʵÀýÓëÖ®¶ÔÓ¦

¡¡¡¡3) ·ÇÖÕ½á·û±í´ïʽ½ÇÉ«£º¾ßÌå±í´ïʽ¡£

¡¡¡¡a) ÎÄ·¨ÖеÄÿÌõ¹æÔòR::=R1R2…Rn¶¼ÐèÒªÒ»¸ö·ÇÖÕ½á·û±í´øÊ½½ÇÉ«

¡¡¡¡b) ¶ÔÓÚ´ÓR1µ½RnµÄÿ¸ö·ûºÅ¶¼Î¬»¤Ò»¸ö³éÏó±í´ïʽ½ÇÉ«µÄʵÀý±äÁ¿

¡¡¡¡c) ʵÏÖ½âÊͲÙ×÷£¬½âÊÍÒ»°ãÒªµÝ¹éµØµ÷Óñíʾ´ÓR1µ½RnµÄÄÇЩ¶ÔÏóµÄ½âÊͲÙ×÷

¡¡¡¡4) ÉÏÏÂÎÄ£¨»·¾³£©½ÇÉ«£º°üº¬½âÊÍÆ÷Ö®ÍâµÄһЩȫ¾ÖÐÅÏ¢¡£

¡¡¡¡5) ¿Í»§½ÇÉ«£º

¡¡¡¡a) ¹¹½¨£¨»òÕß±»¸ø¶¨£©±íʾ¸ÃÎÄ·¨¶¨ÒåµÄÓïÑÔÖеÄÒ»¸öÌØ¶¨µÄ¾ä×ӵijéÏóÓï·¨Ê÷

¡¡¡¡b) µ÷ÓýâÊͲÙ×÷

¡¡¡¡·ÅÉÏÕŽâÊÍÆ÷½á¹¹Ààͼ°É£¬ÕâÒ²ÊÇÀ´×ÔÓÚGOFµÄÊéÖС£


¡¡¡¡¶Ôÿһ¸ö½ÇÉ«¶¼¸ø³öÁËÏêϸµÄÖ°Ô𣬶øÇÒÔÚÀàͼÖиø³öÎå¸ö½Çɫ֮¼äµÄ¹ØÏµ¡£ÕâÑùʵÏÖÆðÀ´Ò²²»ÊǺÜÀ§ÄÑÁË£¬ÏÂÃæ¾ÙÁËÒ»¸ö¼òµ¥µÄÀý×Ó£¬Ï£ÍûÄܼÓÉîÄã¶Ô½âÊÍÆ÷ģʽµÄÀí½â¡£

¡¡¡¡Èý¡¢¾ÙÀý

¡¡¡¡À´¾ÙÒ»¸ö¼Ó¼õ³Ë³ýµÄÀý×Ó°É£¬ÊµÏÖ˼·À´×ÔÓÚ¡¶javaÓëģʽ¡·ÖеÄÀý×Ó¡£Ã¿¸ö½ÇÉ«µÄ¹¦Äܰ´ÕÕÉÏÃæÌáµ½µÄ¹æ·¶À´ÊµÏÖ¡£

//ÉÏÏÂÎÄ£¨»·¾³£©½ÇÉ«£¬Ê¹Ó**ashMapÀ´´æ´¢±äÁ¿¶ÔÓ¦µÄÊýÖµ

class Context
{
¡¡private Map valueMap = new HashMap();
¡¡public void addValue(Variable x , int y)
¡¡{
¡¡¡¡Integer yi = new Integer(y);
¡¡¡¡valueMap.put(x , yi);
¡¡}

¡¡public int LookupValue(Variable x)
¡¡{
¡¡¡¡int i = ((Integer)valueMap.get(x)).intValue();
¡¡¡¡return i ;
¡¡}
}

//³éÏó±í´ïʽ½ÇÉ«£¬Ò²¿ÉÒÔÓýӿÚÀ´ÊµÏÖ

abstract class Expression
{
¡¡public abstract int interpret(Context con);
}

//ÖÕ½á·û±í´ïʽ½ÇÉ«

class Constant extends Expression
{
¡¡private int i ;
¡¡public Constant(int i)
¡¡{
¡¡¡¡this.i = i;
¡¡}

¡¡public int interpret(Context con)
¡¡{
¡¡¡¡return i ;
¡¡}
}

class Variable extends Expression
{
¡¡public int interpret(Context con)
¡¡{
¡¡¡¡//thisΪµ÷ÓÃinterpret·½·¨µÄVariable¶ÔÏó
¡¡¡¡return con.LookupValue(this);
¡¡}
}

//·ÇÖÕ½á·û±í´ïʽ½ÇÉ«

class Add extends Expression
{
¡¡private Expression left ,right ;
¡¡public Add(Expression left , Expression right)
¡¡{
¡¡¡¡this.left = left ;
¡¡¡¡this.right= right ;
¡¡}

¡¡public int interpret(Context con)
¡¡{
¡¡¡¡return left.interpret(con) + right.interpret(con);
¡¡}
}

class Subtract extends Expression
{
¡¡private Expression left , right ;
¡¡public Subtract(Expression left , Expression right)
¡¡{
¡¡¡¡this.left = left ;
¡¡¡¡this.right= right ;
¡¡}

¡¡public int interpret(Context con)
¡¡{
¡¡¡¡return left.interpret(con) - right.interpret(con);
¡¡}

}

class Multiply extends Expression
{
¡¡private Expression left , right ;
¡¡public Multiply(Expression left , Expression right)
¡¡{
¡¡¡¡this.left = left ;
¡¡¡¡this.right= right ;
¡¡}
¡¡public int interpret(Context con)
¡¡{
¡¡¡¡return left.interpret(con) * right.interpret(con);
¡¡}
}

class Division extends Expression
{
¡¡private Expression left , right ;
¡¡public Division(Expression left , Expression right)
¡¡{
¡¡¡¡this.left = left ;
¡¡¡¡this.right= right ;
¡¡}

¡¡public int interpret(Context con)
¡¡{
¡¡¡¡try{
¡¡¡¡¡¡return left.interpret(con) / right.interpret(con);
¡¡¡¡}catch(ArithmeticException ae)
¡¡¡¡{
¡¡¡¡¡¡System.out.println("±»³ýÊýΪ0£¡");
¡¡¡¡¡¡return -11111;
¡¡¡¡}
¡¡}
}

//²âÊÔ³ÌÐò£¬¼ÆËã (a*b)/(a-b+2)

public class Test
{
¡¡private static Expression ex ;
¡¡private static Context con ;
¡¡public static void main(String[] args)
¡¡{
¡¡¡¡con = new Context();
¡¡¡¡//ÉèÖñäÁ¿¡¢³£Á¿
¡¡¡¡Variable a = new Variable();
¡¡¡¡Variable b = new Variable();
¡¡¡¡Constant c = new Constant(2);
¡¡¡¡//Ϊ±äÁ¿¸³Öµ
¡¡¡¡con.addValue(a , 5);
¡¡¡¡con.addValue(b , 7);
¡¡¡¡//ÔËË㣬¶Ô¾ä×ӵĽṹÓÉÎÒÃÇ×Ô¼ºÀ´·ÖÎö£¬¹¹Ôì
¡¡¡¡ex = new Division(new Multiply(a , b), new Add(new Subtract(a , b) , c));
¡¡¡¡System.out.println("ÔËËã½á¹ûΪ£º"+ex.interpret(con));
¡¡}
}

¡¡¡¡½âÊÍÆ÷ģʽ²¢Ã»ÓÐ˵Ã÷ÈçºÎ´´½¨Ò»¸ö³éÏóÓï·¨Ê÷£¬Òò´ËËüµÄʵÏÖ¿ÉÒÔ¶àÖÖ¶àÑù£¬ÔÚÉÏÃæÎÒÃÇÊÇÖ±½ÓÔÚTestÖÐÌṩµÄ£¬µ±È»»¹ÓиüºÃ¡¢¸üרҵµÄʵÏÖ·½Ê½¡£

¡¡¡¡¶ÔÓÚÖÕ½á·û£¬GOF½¨Òé²ÉÓÃÏíԪģʽÀ´¹²ÏíËüÃǵĿ½±´£¬ÒòΪËüÃÇÒª¶à´ÎÖØ¸´³öÏÖ¡£µ«ÊÇ¿¼Âǵ½ÏíԪģʽµÄʹÓþÖÏÞÐÔ£¬ÎÒ½¨Ò黹Êǵ±ÄãµÄϵͳÖÐÖÕ½á·ûÖØ¸´µÄ×ã¹»¶àµÄʱºòÔÙ¿¼ÂÇÏíԪģʽ¡£

¡¡¡¡ËÄ¡¢ÓÅȱµã

¡¡¡¡½âÊÍÆ÷ģʽÌṩÁËÒ»¸ö¼òµ¥µÄ·½Ê½À´Ö´ÐÐÓï·¨£¬¶øÇÒÈÝÒ×Ð޸ĻòÕßÀ©Õ¹Óï·¨¡£Ò»°ãϵͳÖкܶàÀàʹÓÃÏàËÆµÄÓï·¨£¬¿ÉÒÔʹÓÃÒ»¸ö½âÊÍÆ÷À´´úÌæÎªÃ¿Ò»¸ö¹æÔòʵÏÖÒ»¸ö½âÊÍÆ÷¡£¶øÇÒÔÚ½âÊÍÆ÷Öв»Í¬µÄ¹æÔòÊÇÓɲ»Í¬µÄÀàÀ´ÊµÏֵģ¬ÕâÑùʹµÃÌí¼ÓÒ»¸öеÄÓï·¨¹æÔò±äµÃ¼òµ¥¡£

¡¡¡¡µ«ÊǽâÊÍÆ÷ģʽ¶ÔÓÚ¸´ÔÓÎÄ·¨ÄÑÒÔά»¤¡£¿ÉÒÔÏëÏóһϣ¬Ã¿Ò»¸ö¹æÔòÒª¶ÔÓ¦Ò»¸ö´¦ÀíÀ࣬¶øÇÒÕâЩÀ໹ҪµÝ¹éµ÷ÓóéÏó±í´ïʽ½ÇÉ«£¬¶àÈçÂÒÂéµÄÀཻ֯ÔÚÒ»ÆðÊǶàô¿Ö²ÀµÄÒ»¼þʰ¡£¡

¡¡¡¡Îå¡¢×ܽá

¡¡¡¡ÕâÑù¶Ô½âÊÍÆ÷ģʽӦ¸ÃÓÐÁËЩ´óÌåµÄÈÏʶÁ˰ɣ¬ÓÉÓÚÕâ¸öģʽʹÓõݸÀýØÑ·¦£¬ËùÒÔ±¾ÎĴ󲿷ֹ۵ãÖ±½ÓÀ´×ÔÓÚGOFµÄÔ­Öø¡£Ö»ÊÇʵÀý´úÂëÊÇÇ××ÔʵÏÖ²¢µ÷ÊÔͨ¹ýµÄ¡£




Ïà¹ØÎÄÕ£º

Ïà¹ØÈí¼þ£º