ÃÎÏë·ç±©

来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/index.php?blogid=4212 存档链接: https://web.archive.org/web/20041207034057id_/http://www.blogbus.com:80/blogbus/blog/index.php?blogid=4212


ÃÎÏë·ç±© Ò»¸öС³ÌÐòÔ±µÄÐſڿªºÓ Ê×Ò³ Java (30) ÎÒÑÛ¿´ÊÀ½ç (23) ½Åϵķ (36) ²Ù×÷ϵͳ (3) ´óÍ·ÎÄÕ (6) ·ÖÒ³: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] ×îºóÒ³ 2004-12-05 08:49 ֪ʶµÄ»ýÀÛ ×î³õÈÏʶ Darwin µÄʱºò£¬ÎÒ»¹ÊǸöû±ÏÒµµÄÐÂÊÖ¡£ÄÇʱ£¬ÎÒÔÚ¹«Ë¾×ö±ÏÒµÉè¼Æ£¬ÌâÄ¿¾ÍÊÇÓÃC++¶Ô²¿ÃÅÄÚÒÑÓеÄÒ»Ì×CµÄ¿â½øÐзâ×°¡£ÄÇÌ׿â¾ÍÊÇDarwin¿ª·¢µÄ£¬Õâ´Î·â×°¹¤×÷Ò²ÊÇÔÚËûµÄÁ쵼֮ϽøÐеġ£µ±Ê±£¬ÎÒ¶ÔC++ÓÐ×Å˵²»ÇåµÄºÃ¸Ð£¬ÐÄÀïÈ϶¨ÄÇÊdzÉΪ¸ßÊֵıؾ­Ö®Â·£¬Òò´ËºÜÀÖÓڲμӵ½Õâ¸ö¹¤×÷Ö®ÖС£Darwinµ±Ê±µÄCÓïÑÔÒѾ­´ïµ½ÁËÏ൱¸ßµÄË®×¼£¬¶ø¶ÔÓÚC++Á˽âÊ®·ÖÓÐÏÞ£¬´ó¸Å±È¡°C with Class¡±¸ß²»Ì«¶à£¬ÕâÒ»µã´Óµ±Ê±µÄÌÖÂÛÉÏ¿ÉÒÔÇå³þµÄ¿´³öÀ´¡£Ã»¹ý¶à³¤Ê±¼ä£¬ÎÒ¾ªÆæµÄ·¢ÏÖ£¬Ëû¶ÔÓÚC++µÄÀí½âÒ»ÏÂ×Ó¼ÓÉîÁËÐí¶à£¬ÓÐÐí¶àËû̸µ½µÄ¶«Î÷ÒѾ­²»ÊÇÎÒÄܹ»Ò»ÏÂ×ÓÀí½âµÄÁË¡£ÓÖ¹ýÒ»¶Îʱ¼ä£¬Ëû¿ªÊ¼¸ø´ó¼Ò½²Éè¼ÆÄ£Ê½£¬¶øÖ®Ç°Ëû¶ÔÓÚÉè¼ÆÄ£Ê½¿ÉÒÔ˵ÊÇÒ»Çϲ»Í¨£¬ÒòΪËû¿´µÄÊÇÎÒÂòÀ´ºó³¾·âÐí¾ÃµÄÄDZ¾GoF¾­µä¡£ÎÒ¾ªÑÈÓÚËûÎüÊÕ֪ʶµÄËÙ¶È£¬²»½ö½öÊǼòµ¥µÄѧϰ£¬¶øÊÇ¿ÉÒÔÉî¿ÌµÄÀí½â¡£ C++Ö®¸¸ÔÚ¡¶C++³ÌÐòÉè¼ÆÓïÑÔ¡·µÚÒ»ÕÂÖУ¬Ì¸¼°Ñ§Ï°C++ʱÌáµ½£º¡°Äãѧϰһ¸öÐÂÓïÑԵķ½Ê½ÒÀÀµÓÚÄãÒѾ­ÖªµÀЩʲô£¬»¹ÒÀÀµÓÚÄãµÄѧϰĿµÄ¡£¡± ×÷Ϊһ¸ö³ÌÐòÔ±£¬Ñ§Ï°ÊÇÉú»îÖÐÎ޿ɱÜÃâµÄ²¿·Ö¡£ÔÚÃæÁÙÏîĿѹÁ¦Ê±£¬Í¨³£Ñ§Ï°µÄÄ¿µÄ¶¼ÊÇÊ®·ÖÃ÷È·£º½â¾öÓöµ½µÄÎÊÌâ¡£ÕâÊ±ÕæÕýÆð¾ö¶¨ÐÔ×÷ÓõĻù±¾ÉÏÊÇ×Ô¼ºµÄ֪ʶ»ýÀÛ¡£¹¤×÷¼¸ÄêÖ®ºó£¬ÎÒ¿ªÊ¼Àí½âÕâÒ»µã¡£¶ÔÓÚÒ»Ð©ÕæÕýÓõ½µÄм¼Êõ£¬´ó¶àÊýʱºò£¬ÎÒÖ»ÊǼòµ¥µÄ·­·­Îĵµ¾Í¿ÉÒÔÄùýÀ´ÓÃÁË£»¶ÔÓÚһЩÀíÄîÉϵĶ«Î÷£¬Ò²¿ÉÒԱȽϿìµÄÎüÊÕÀí½â£¬²¢ÄÜÌá³ö×Ô¼ºµÄһЩ¼û½â¡£Æäʵ£¬²¢²»ÊÇÊÇÎұȱÏҵǰºó±äµÃ¸ü´ÏÃ÷£¬¶øÊÇÎÒ±ÈÄÇʱ½Ó´¥µÄ¶«Î÷¸ü¶à¡£ËùνµÄм¼Êõ´ó¶àÀ´Ô´ÓÚÒÑÓеļ¼Êõ£¬ÓÐÁË»ù±¾µÄ¶«Î÷£¬Ãæ¶Ôм¼ÊõµÄʱºò£¬°ÑËüÓëÒÑÓеÄ֪ʶÁªÏµÆðÀ´£¬ÔÚÄÔ×Ó¼òµ¥±È½ÏһЩÒìͬ£¬¾Í¿ÉÒÔ¶ÔÕâÏî¼¼ÊõµÄÓÅÁÓÓиöÈÏʶ£¬ÔÙ¼ÓÉÏÏîÄ¿µÄʵ¼ù£¬ÎÒ±ãÖªµÀÁËÕâÏî¼¼ÊõÔËÓÃÔÚʵ¼ÊµÄÏîÄ¿ÖÐÄܹ»½â¾öʲôÎÊÌ⣬±ÈÖ®´ÓǰµÄ½â¾ö·½°¸ÓкβîÒì¡£ ÒÔÎÒ¸öÈ˵ÄһЩ¾­Àú¶øÑÔ£¬ÖªÊ¶»ýÀ۵Ĺý³ÌÖУ¬Ë¼¿¼ÊǷdz£ÖØÒªµÄÒ»»·¡£¿×ÀÏ·ò×Ó¼¸Ç§Äêǰ¾Í½Ìµ¼ÎÒÃÇ˵£º¡°Ñ§¶ø²»Ë¼ÔòØè,˼¶ø²»Ñ§Ôò´ù¡±¡£ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄÄê´ú£¬Ã¿¸öÏ£Íû×Ô¼º½ø²½µÄÈ˶¼»áÃæ¶Ô×ÅÒ»´ó¶ÑҪѧµÄ¶«Î÷£¬Ã¤Ä¿µÄѧϰ£¬¶ø²»È¥Ë¼¿¼£¬Ö»»áÈÃ×Ô¼ºÃÔʧÓÚ֪ʶµÄÍôÑóÖ®ÖС£ÔÚѧϰµÄ¹ý³ÌÖУ¬Ë¼¿¼¿ÉÒÔÈÃÎÒÃǰÑÐÂ֪ʶºÍÒÑÓеÄ֪ʶÁªÏµÆðÀ´£¬ÕâÑù£¬ÐÂ֪ʶ±ãÒ²²»Ôڹµ¥£¬¶øÒÑÓеÄ֪ʶҲ³£³£Äܱ»´ß·¢³öеĻîÁ¦£¬¶þÕ߱˴ËÍÆ¶¯£¬¼ÓÉî֪ʶµÄÀí½â¡£ ¼Ç¼£¬ÊÇ´Ù½øË¼¿¼µÄÒ»ÖÖ·½Ê½¡£ÎÒ¾­³£Ô¸ÒâÏò±ðÈËÍÆ¼öblog£¬ÒòΪÎÒÿ´ÎдblogµÄ¹ý³Ì¶¼ÊÇÎÒ¶ÔÒ»¸öÖ÷Ìâ½øÐÐÉîÈë˼¿¼µÄ¹ý³Ì£¬ÓÐÒâ»òÎÞÒâ¡£×Ô¼ºÏëÃ÷°×ÊÇÒ»»ØÊ£¬°ÑËü½âÊÍÃ÷°×ÓÖÊÇÁíÍâÒ»»ØÊ¡£µ±È»£¬¶ÀÀÖÀÖºÍÓëÈËÀÖÀÖ»¹ÊÇÓÐËù²îÒìµÄ£¬Ò»¸öÊǼÓÉî×Ô¼ºÀí½â£¬Ò»¸öÊÇÓëÈË·ÖÏí¡£ºî½ÝÏÈÉúÔø½èÓùýºúÊÊÏÈÉúµÄÒ»¾ä»°£¬¡° ·¢±íÊÇ×îºÃµÄ¼ÇÒä ¡±¡££¬Ò²Ðíblog²»±ÈÊé¼®¡¢ÔÓÖ¾µÈýÌ壬ҲÐíÎÒûÓÐÄÇô¶àµÄ¶ÁÕߣ¬ÎÒ²¢²»ÔÚºõÕâЩ£¬µÂ²»¹Â£¬±ØÓÐÁÚ£¬ÄÜÓëÈË·ÖÏí¾ÍºÃ¡£¼Ç¼µÄ½á¹ûÒ²³£³£Ê¹ÎÒÓа¸¿É²é¡£ÎҵĴóÄÔÄܹ»¼ÇµÃ¶«Î÷ÊÇÓÐÏ޵ģ¬Ðí¶àϸ½Ú¶¼»áËæ×Åʱ¼ä¶øÏûÊÅ£¬ÖªµÀÄÄÀï¿ÉÒÔÕÒµ½±È¼Çסȫ²¿Ï¸½Ú¸ü¼ÓÓÐЧ¡£¡¶¶ñ¶·EJB¡·Ð´¾ÍÖ®ºó£¬²»ÖªµÀÓжàÉٴα»ÎÒÖØÐ²鿴¡£¼Ç¼»¹¿ÉÒԱȽϺõĶÍÁ¶×Ô¼ºµÄ±í´ïÄÜÁ¦£¬Ë­Ëµ³ÌÐòÔ±Ö»Éó¤Ð´´úÂ룬дÎÄÕºÍд´úÂëÒ»Ñù£¬Ö»Òª¶àÁ·Ï°¶à˼¿¼£¬¾ÍÄÜ´ïµ½Ò»¸ö²»´íµÄ¸ß¶È£¬ÖÁÓÚÔÙ½øÒ»²½ÌáÉý£¬ÄǾÍÒª¿´Ìì·ÖºÍÔ컯ÁË¡£^_^ ½»Á÷£¬ÊÇÁíÍâÒ»ÖÖ´Ù½øË¼¿¼µÄ·½Ê½¡£´ÓСÎÒ¾ÍÊÇÒ»¸ö±È½ÏÔ¸Òâ±í´ï×Ô¼º¹ÛµãµÄÈË£¬¹¤×÷Ö®ºó£¬ÊÜDarwinµÄÓ°Ï죬Õâ·½Ãæ±íÏÖµÄÔ½¼ÓÃ÷ÏÔÁË¡£½»Á÷Ö®ÖÐÓöµ½²»Í¬µÄ¹Ûµã¼òÖ±ÊÇÒ»¼þÔÙÕý³£²»¹ýµÄÊÂÁË£¬±Ï¾¹´ó¼Ò¾­Àú²»Í¬¡¢¶ÔÎÊÌâµÄÀí½â²»Í¬£¬ÕýÊÇÓÐÁËÕâЩ²»Í¬µÄ¹Ûµã²ÅʹµÃ½»Á÷¸ü¼ÓÓÐÒâÒå¡£ºÍһЩÅóÓÑÌÖÂÛ²âÊÔÇý¶¯¿ª·¢Ê±£¬Ò»¸öÒ»Ö±´ÓʲâÊÔ¹¤×÷µÄÅóÓÑÌá³öµÄ¹ÛµãÈÃÎÒÃǼ¸¸ö³ÌÐòÔ±¾õµÃ·Ç³£ÐÂÏÊ£¬¶øÎÒÃǶԲâÊÔÇý¶¯¿ª·¢µÄÌÖÂÛÒ²¸Ä±äÁËËû¶Ôµ¥Ôª²âÊÔµÄÈÏʶ¡£Ö»ÓдӲ»Í¬µÄ½Ç¶ÈÀí½âÎÊÌ⣬²ÅÄܰÑÎÊÌâ¿´µÃ¸ü¼ÓµÄÈ«Ãæ¡£ÓÐÌõ¼þÒªÌÖÂÛ£¬Ã»ÓÐÌõ¼þ´´ÔìÌõ¼þÒ²ÒªÌÖÂÛ£¬ÏÖÔÚһЩµÄÌõ¼þʹÎÒÓëÍâ½çµÄ³ÌÐòÔ±½»Á÷µÄ»ú»á²¢²»¶à£¬ËùÒÔ£¬³ýÁ˲ÎÓëÒ»Ð©ÍøÉϵÄÌÖÂÛÖ®Í⣬ÎÒÃǼ¸¸ö¹ØÏµÒªºÃµÄÅóÓÑÒ²¾­³£×Ô·¢µÄ×éÖ¯ÆðÀ´£¬ÀûÓÃÒµÓàʱ¼ä½øÐи÷ÖÖ¸÷ÑùµÄ½»Á÷¡£ ֪ʶµÄÕûÀí¿ÉÒÔ°ïÎÒÀíÇåºúÂÒµÄ˼Ð÷¡£ÕûÀíÊÇÒ»¸ö¿´ÆðÀ´ÈÝÒ×£¬È´ÐèÒªºÜ´ó¹¦·ò²ÅÄÜÍê³ÉµÄ¡£Martin FowlerÖµµÃÎÒÃÇ×ð¾´£¬²¢²»ÊÇËûÓжàôΰ´óµÄ·¢Ã÷´´Ô죬¶øÔÚÓÚËû°ÑһЩ֪ʶ£¨Öع¹¡¢·ÖÎöģʽ¡¢ÆóÒµÓ¦Óüܹ¹Ä£Ê½µÈµÈ£©ºÜºÃµÄÕûÀí³öÀ´£¬ÈúóÀ´Õß¿ÉÒԺܷ½±ãµÄ½øÐÐѧϰ¡£ÒÔͬÑù·½Ê½ÈóÌÐòÔ±ÃǾ´ÑöµÄ»¹°üÀ¨ÕûÀí³ö¡¶Éè¼ÆÄ£Ê½¡·µÄGoF¡£¡¶´úÂëÔĶÁ·½·¨Óëʵ¼ù¡·µÄ¼ÛÖµËùÔÚÒ²²¢²»ÊÇÆäÖоßÌåÉæ¼°µÄÔĶÁ¼¼ÇÉ£¬¶øÊÇÆä¶ÔÔĶÁ´úÂëËùÐèÄÚÈÝ×öµÄÕû¹¤×÷¡£ ÓÐÁËÕûÀí£¬ÓëÖ®¶ÔÓ¦¾ÍÊÇÕªÒªµÄ¹¤×÷¡£ÎªÊ²Ã´Í¬ÑùµÄÄÚÈÝ£¬ÓÐÈËдÁËÒ»±¾Ê飬¶øÓÐÈËÓÃÒ»ÕÂÉõÖÁ¼¸¾ä»°¾ÍÄܹ»°ÑºËÐÄÀíÄîÃèÊö³öÀ´£¬Õâ±ãÊÇÕªÒªµÄ¹¤×÷¡£ÈÙâßµÚ14½ìJolt´ó½±µÄ¡¶²âÊÔÇý¶¯¿ª·¢£ºÊ¹ÓÃÖ¸ÄÏ¡·ÓÃÁ˵ڶþÕÂÒ»ÕµÄÄÚÈÝ£¬°ÑһЩ³£ÓõÄÖØ¹¹ÊÖ·¨µãÃ÷¡£¶ÔÓÚ´ó¶àÊýµÄÖØ¹¹¹¤×÷À´Ëµ£¬ÕâЩÄÚÈÝ»ù±¾¹»ÓÃÁË£¬¶ø¶ÔÓÚÖØ¹¹£¬Martin FowlerдÁËÒ»±¾Ê顣ͬÑùÓÃÁËÒ»ÕÂÀ´ËµÃ÷ÖØ¹¹µÄ»¹ÓÐRobert MartinµÄ¡¶Ãô½ÝÈí¼þ¿ª·¢¡·£¬ÊéÖл¹ÓÃÁËÒ»ÕÂ˵Ã÷Á˲âÊÔÇý¶¯¿ª·¢¡£µ±Äê¹ØÓÚ¿¼ÊԵĽ̵¼Öг£ÓС°°ÑÊé¶Á±¡£¬ÔÙ°ÑÊé¶Áºñ£¬×îºó°ÑÊéÔٴζÁ±¡¡±µÄÈÆ¿ÚÁÆäÀíÄîÓë´Ë´óµÖÏàͬ¡£ ̸µ½ÖªÊ¶ÕûÀí£¬²»ÓÉÏëÆðÁËÐÅÏ¢µÄÕûÀí¡£Ïë±ØÐí¶àÈ˺ÍÎÒÒ»Ñù£¬Ó²ÅÌÉÏ´æÁË´óÁ¿µÄ×ÊÁÏ¡£²»¹ý²»ÖªµÀÄãÊÇ·ñÄÜÔÚÐèÒªµÄʱºò£¬¿ìËÙµÄÕÒµ½×Ô¼ºËùÐèµÄÄÚÈÝ¡£Ð¡Ê±ºòÑø³ÉµÄϰ¹ßÈÃÎÒºÜÔ¸Òâ°Ñ×Ô¼ºµÄ¶«Î÷Ëæ±ãÂÒÈÓ£¬Æä½á¹û¾­³£ÊÇҪʲô²»¼ûʲô¡£×î³õ¿ªÊ¼ËѼ¯×ÊÁϵÄʱºòÒ²³£³£ÊÇÐÅÊÖ·ÅÖ㬽á¹ûÍùÍùÊDz»ÖªµÀ×Ô¼ºÓÐÁËЩʲô£¬ÓõÄʱºòÒ²ÎÞ´¦¿ÉѰ¡£ºóÀ´¼ûfounder_chenµÄ×ÊÁÏÕûÀí¹¤×÷×öµÃÏ൱µÄµ½Î»£¬ÐèҪʱ¿ÉÒÔºÜÇáËɵÄÕÒµ½£¬±ãÒ²¿ªÊ¼Öð½¥ÕûÀí×Ô¼ºµÄ×ÊÁÏ£¬·ÖÃűðÀàµÄ½øÐÐÕûÀí£¬¹ûȻЧ¹ûºÃÁËÐí¶à£¬ÒÔÖÂÓÚÏÖÔÚÐí¶àͬÊÂÕÒ×ÊÁϵÄʱºò£¬Ê×ÏÈ¿¼ÂÇÉÏÎÒÕâÀïÀ´²éÕÒ¡£ ²»Öª²»¾õ¾Í×ÅÕâ¸ö»°ÌâдÁËÕâô¶à£¬ÕâÓ¦¸ÃËãÊÇÎÒËù×÷µÄÓÖÒ»´ÎÕûÀí°É£¡ dreamhead @ 08:49 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(5) | ÒýÓÃTrackback(0) | ±à¼­ 2004-11-28 22:36 µ¥Ç¹Æ¥Âí ÎÒÊÇÒ»¸ö¿ÉÒÔµ¥Ç¹Æ¥Âí½â¾öºÜ¶àÎÊÌâµÄ³ÌÐòÔ±£¬ÊÂʵÉÏ£¬ºÜ¶àʱºòÎÒȷʵÊÇÔÚµ¥Ç¹Æ¥ÂíµÄ¹¤×÷¡£ Àú¾­ÖйúÊ®¼¸ÄêµÄ¡°±ê×¼¡±½ÌÓý£¬ÎÒѧ»áÁ˶ÀÁ¢½â¾öÎÊÌâ¡£ÔÚѧУÀºÜ¶àʱºòЭ×÷ÐÐΪ¶¼»á±»ÊÓΪ²»Õýµ±µÄÐо¶¶øÔâµ½ÅúÅУ¬±ÈÈ翼ÊÔʱºòµÄЭ×÷»á±»³ÆÎª×÷±×¡£ÕÆÎÕÁ˶ÀÁ¢Ë¼¿¼ÄÜÁ¦µÄͬʱ£¬Ð­×÷ÄÜÁ¦Ò»µãµãµÄÁ÷ʧ×Å¡£Ð­×÷ÄÜÁ¦µÄÁ÷ʧÍùÍù°éËæÓÐ×Ô˽µÄ²úÉú£¬ÎÒÀú¾­Ç§ÐÁÍò¿à½â¾öµÄÎÊÌâΪʲôҪ¸æËßÄ㣬Õâ¿ÉÊÇÎÒÖµµÃìÅÒ«µÄ×ʱ¾°¡£¡¸öÌå¶ÔÃæµÄ¼¯ÌåҲʱ³£±»È˺öÂÔ£¬¡°º×Á¢¼¦Èº¡±µÄ¸Ð¾õ¿ÉԶʤÓÚ¡°¹²Í¬¸»Ô£¡±¡£ Èí¼þ¿ª·¢µÄÀúÊ·¼¸ºõ¾ÍÊÇÒ»²¿¸öÈËÓ¢ÐÛÖ÷ÒåµÄÁ¬Ðø¾ç£¬´ÓBill Gatesµ½Linus Torvalds£¬Äĸö²»ÊÇ¿ÉÒÔÆ¾½èÒ»¼ºÖ®Á¦¾ÍÈÃÊÀ½ç¸Ä±äµÄÈËÎï¡£ÊÔÎÊ£¬ÎÒÃÇÕâЩ×÷ΪºóÀ´ÕߵijÌÐòÔ±£¬ÄÄλÐÄÖÐûÓм¸¸öÓÃÀ´³ç°ÝµÄ¸ßÊÖ£¬Ò²Ðí²î±ð¾ÍÊÇˮƽԽ¸ß³ç°ÝµÄÔ½ÉÙ°ÕÁË¡£ºÍÄÇЩ³ÉΪ׷ÐÇ×åµÄã¶®ÉÙÄêÒ»Ñù£¬¶ÔżÏñ³ç°Ý´øÀ´µÄ³£³£ÊǶÔżÏñµÄÄ£·Â£¬ÓÐÒâ»òÎÞÒâ¡£¶Ô¸öÈËÓ¢Ð۵ijç°Ý´øÀ´ÍùÍùÊÇÏ£Íû×Ô¼ºÓµÓжÀÁ¢´´ÔìÒ»¸öÊÀ½çµÄÄÜÁ¦¡£ У԰µÄ·ÕΧ¹ÄÀøÕâÖÖ¡°¶ÀÁ¢¡±£¬¶øÕæÊµÊÀ½çµÄÈí¼þ¿ª·¢¸ü¶àµÄÐèÒª¡°Ð­×÷¡±£¬±Ï¾¹ÎÒÃÇÃæ¶ÔµÄÎÊÌâÒѾ­²»ÊÇÒ»¸öÈË¿ÉÒÔÔÚ×îºóÆÚÏÞ֮ǰÄܹ»½â¾öµÄ¡£ËäÈ»ÎÒ´¦ÔÚÒ»¸öÐèҪЭ×÷µÄ»·¾³Ö®ÖУ¬µ«ÓÉÓÚ¹¤×÷·ÖÅäµÄÔ­Òò£¬ÎÒºÜÉÙÓëÈËЭͬ¿ª·¢£¬Òò´Ë£¬´ó¶àÊýʱ¼äÀÎÒÒÀÈ»´¦ÓÚ¶ÀÁ¢¹¤×÷µÄ״̬֮ÖС£Ò²ÕýÊÇÓÉÓÚ¶ÀÁ¢¹¤×÷£¬¶ÍÁ¶ÁËÎÒ½â¾öÎÊÌâµÄÄÜÁ¦£¬Ëæ×ŶÔÎÒ½â¾öÎÊÌâÄÜÁ¦µÄ·ÅÐÄ£¬¸ºÔðÈ˸ü¶àÈÃÎÒ¸ºÔðÒ»¸öµ¥¶ÀÄ£¿éµÄ¿ª·¢£¬ÓÚÊÇÎÒÒ²¾ÍÔ½À´Ô½¡°¶À¡±¡£ ½üÀ´ºÍ¼¸¸öÅóÓѺÏ×÷¿ª·¢Ò»¸ö¶«Î÷£¬¿¼ÂÇÕ⼸¸öÅóÓѵÄʵ¼ÊˮƽºÍ¶ÔÄ¿±êµÄÁ˽â³Ì¶È£¬ÔÚǰÆÚ£¬ÐèÒªÎÒ´øÁìËûÃÇÒ»ÆðÀ´×ö¡£ºÍƽʱһÑù£¬ÎÒÒ»¿ªÊ¼¾Í½øÈëµ½½â¾ö¸÷ÖÖÒÉÄÑÔÓÖ¢µÄ½×¶Î£¬Ö®ºó£¬ÎÒ»á°Ñ×Ô¼ºµÄÐĵøæËßËûÃÇ¡£ Ò»Ì죬ÎÒÎÊÆäÖеÄÒ»¸öÅóÓÑ£¬¶ÔÎÒ½²µÄ¶«Î÷ÓÐʲô¸Ð¾õ¡£³öºõÎÒÒâÁϵÄÊÇ£¬Ëû¸øÎҵĴ𰸲¢²»ÊǹØÓÚÎÒËù½²½âµÄÄÚÈÝ£º¡°ÎÒ¾õµÃÄãÌ«ÀÛÁË¡±¡£Õâµ¹ÊÇÒýÆðÁËÎÒµÄÐËȤ¡£ËûÈÏΪ£¬¼ÈÈ»ÊÇ´ó¼ÒºÏ×÷¿ª·¢£¬¾ÍÓ¦¸Ã´ó¼Ò¹²Í¬À´³Ðµ£ÔðÈΣ¬ÏÖÔÚµÄÇé¿öÊÇÎÒÒ»¸ö¿¹ÆðÁËËùÓе£×Ó£¬¶øÆäËûÈËÔò´¦ÓÚÒ»ÖֱȽÏÏеÄ״̬£¬¶ÔÓÚÒ»Ö§ÍŶÓÀ´Ëµ£¬Õâ¾ø¶ÔÊÇÒ»ÖÖ²»ºÏÀíµÄ¡£ÔÚĿǰµÄ״̬ÖУ¬ÎÒʵ¼ÊÉϵ£µ±µÄÊÇÒ»¸ö¸ºÔðÈ˵ĽÇÉ«£¬Ó¦¸Ã¶®µÃ°Ñ¹¤×÷·ÖÅ䏸±ðÈË£¬¶ø²»ÊÇÒ»Á¦³Ðµ££¬ÕâÑù»áÔì³ÉÀÛËÀÒ»¸ö¡¢ÏÐËÀһȺµÄ±¯²Ò½á¹û¡£ ËûµÄ»°¶ÔÎÒ´ò¿ªÁËÒ»ÉÈÃÅ£¬ÈÃÎÒ½øÈëµ½Ò»¸öÍêÈ«²»Í¬µÄÊÀ½ç¡£Ö®Ç°£¬ÎÒ´ÓδÏë¹ýÕâÑùµÄÎÊÌâ¡£ÎÒ´ÓÎ´ÕæÕý³Ðµ£¹ý¸ºÔðÈË£¬´Óδ¿¼Âǹý°Ñ¹¤×÷·ÖÅ䏸±ðÈË£¬ÔÚÎÒÔ­À´µÄÊÓÒ°ÀÎÒËùÓöµ½µÄÎÊÌâ¶¼ÐèÒªÎÒ×Ô¼º½â¾ö¡£¾­Ëûµã²¦£¬ÎÒ»íÈ»¿ªÀÊ¡£¹ÌÈ»£¬ÎÒÏàÐÅÎÒ¿ÉÒÔ½â¾ö×Ô¼ºÓöµ½µÄ¾ø´ó¶àÊýÎÊÌ⣬µ«²¢·ÇËùÓÐÕâЩһ¶¨Òª×Ô¼ºÀ´×ö¡£ ÔÚʵ¼ÊµÄ¹¤×÷ÖУ¬ÎÒҲȷʵ¸Ð¾õµ½×Ô¼ºµÄʱ¼äÓÐЩ²»¹»Ó㬼ÈÒªÉè¼Æ£¬ÓÖÒª±àÂ룬»¹Òª¿¼ÂÇÏÂÒ»²½µÄ·½Ïò¡£ ´ÓÁíÒ»·½ÃæÀ´¿´£¬ÕâÖÖ×ö·¨Ò²ÊǶÔͬ°éµÄ²»ÐÅÈΣ¬ËäÈ»¿ÉÄÜÊÇÎÞÒâʶµÄ¡£ÔÚÒ»Ö§ÍŶÓÖУ¬±Ë´ËµÄÐÅÈβÅÄÜÈôó¼ÒÀ´¹²Í¬³Ðµ£ÔðÈΡ£¶ÔÓÚÏÖÔڵĿª·¢£¬Í¬°éĿǰµÄÄÜÁ¦²¢²»×ãÒԺܺõÄÍê³É£¬µ«Èç¹û²»¸øËûÃÇ×ã¹»µÄ»ú»á£¬ËûÃÇÓÀÔ¶²»ÄÜ´ïµ½ÒªÇ󣬲î¾àÖ»»áÔ½À´Ô½´ó¡£¸öÈËÄÜÁ¦Ò²ÊÇÔÚ¿ª·¢¹ý³ÌÖÐÖð½¥Ìá¸ßµÄ¡£ ×îÖÕ£¬ÎÒ¾ö¶¨½ÓÄÉÕâ¸öÅóÓѵĽ¨Ò飬°Ñ×Ô¼º³Ðµ£µÄÒ»²¿·Ö¹¤×÷ÍêÈ«½»¸øËûÃǸºÔ𣬶øÎÒÔò¼ÌÐøÏòǰ×ߣ¬ÎªÏÂÒ»²½¹¤×÷×öһЩ¼¼ÊõÉϵÄ̽Ë÷¡£Èí¼þ¿ª·¢²¢²»ÊÇÒ»¸öÈ˵Ť×÷£¬¶ÀÁ¢½â¾öÎÊÌâ²¢²»µÈÓÚÒ»ÇÐÓÉÒ»¸öÈËÀ´×ö£¬Ò»¸öÈ˵ÄС´ÏÃ÷ÎÞ·¨Ó뼯ÌåÖÇ»ÛæÇÃÀ¡£ dreamhead @ 22:36 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(1) | ÒýÓÃTrackback(0) | ±à¼­ 2004-11-23 22:02 ÓãÓëÐÜÕÆ ÔÚ¡¶ XMLÓë¶ÑÕ» ¡·µÄ×îºó£¬ÎÒÌáµ½¡°ÓÉÓÚÇ£³¶µ½reflectionµÄʹÓã¬Ò²ÐíCommons DigesterÒ²»á´æÔÚһЩÐÔÄÜÎÊÌ⡱¡£ÔÚдÁËһЩ´úÂëÖ®ºó£¬ÎÒÏë¿´¿´Í¨¹ýµ÷Õû£¬ÐÔÄÜ¿ÉÒÔÓÐÔõÑùµÄÌá¸ß¡£ Commons DigesterÐèÒªµÄÊÇÒ»¸ö¡°Ä£Ê½£¨pattern£©/¹æÔò£¨rule£©¡±µÄ×éºÏ£¬Ä£Ê½ÃèÊöÁË´¦ÀíÖÐÓöµ½µÄ±êÇ©£¬¹æÔòÔò˵Ã÷ÁËÔõÑù´¦ÀíÕâ¸ö±êÇ©¡£Commons DigesterÌṩÁËÐí¶àȱʡµÄ¹æÔò£¬ÎÒÃÇ¿ÉÒÔÓÃÀ´¼ò»¯ÎÒÃǵĿª·¢£¬ÎªÁ˴ﵽͨÓõÄÄ¿µÄ£¬ÕâЩȱʡ¹æÔò´óÁ¿µÄʹÓÃÁËReflection£¬ËüÃÇÒ²ÕýÊÇÎÒËù¹Ø×¢µÄÎÊÌâ¡£ ÏÂÃæÊÇÒ»¸öXMLÎļþÖеÄÒ»¶Î£º ÔÚ´¦Àíʱ£¬ÎÒÒª°ÑËüÓ³ÉäΪÄÚ´æ¶ÔÏ󣬿ÉÄܾÍÐèÒªÓöµ½student±êǩ֮ºó´´½¨Ò»¸öStudentµÄÄÚ´æ¶ÔÏó£¬È»ºó£¬¸øËüÉèÖÃnameÊôÐÔ£¬Èç¹ûÓöµ½ÁËcourse£¬³ýÁË´´½¨¶ÔÏóºÍÉèÖÃÊôÐÔÍ⣬ÎÒ»¹ÐèÒª°ÑËüºÍStudent¶ÔÏó¹ØÁªÆðÀ´¡£ ʹÓÃȱʡ¹æÔò£¬ÎÒ¿ÉÄÜ»áÕâôÅäÖ㺠Digester digester = new Digester(); digester.addObjectCreate("student", Student.class); digester.addSetProperties("student"); digester.addObjectCreate("student/course", Course.class); digester.addSetProperties("student/course"); digester.addSetNext("student/course", "addCourse"); ÏÖÔڰѳéÏó±äΪ¾ßÌ壬ÏÔÈ»ÕâЩĬÈϹæÔò¾Í²»ÊÇÎÒËùÐèÒªµÄ£¬ÎÒ±àдÁË×Ô¼ºµÄ¹æÔò£º public class StudentRule extends Rule { public void begin(String namespace, String name, Attributes attributes) throws Exception { Student student = new Student(); String studentName = attributes.getValue("name"); student.setName(studentName); digester.push(student); } public void end(String namespace, String name) throws Exception { digester.pop(); } } ÀàËÆµÄ»¹ÓÐÒ»¸öcourseµÄ¹æÔò£¬ÕâÑùÔ­À´µÄÅäÖþͱäΪ Digester digester = new Digester(); digester.addRule("student", new StudentRule()); digester.addRule("student/course", new CourseRule()); ÔÚÎÒ²âÊԵijÌÐòÖУ¬²ÉÓÃȱʡ¹æÔò½âÎöÒ»¸öÎļþÓÃÁË580ms£¬¶ø×Ô¶¨Ò广ÔòÓÃ200ms£¬¶þÕߵIJî¾à»¹ÊDZȽÏÃ÷ÏԵġ£ ÄÄÖÖ½â¾ö·½°¸»á³ÉΪÎÒ×îÖÕµÄÑ¡ÔñÄØ£¿½ö´Ó½á¹ûÉÏÀ´¿´£¬ÎÒºÁÎÞÒÉÎʸÃÑ¡Ôñ×Ô¶¨Ò广Ôò£¬»»×÷¼¸ÄêǰµÄÎÒ£¬Õâ¿ÖÅÂÊÇûʲôֵµÃÖÊÒɵġ£ÏÖÔÚµÄÎÒÊ×ÏÈ»áÎÊ×Ô¼ºÒ»Ï£¬ÎÒÒª¸Éʲô¡£ÒòΪȱʡ¹æÔò²¢·ÇÒ»ÎÞÊÇ´¦£¬Í¬×Ô¶¨Ò广ÔòÏà±È£¬ËüµÄÓÅÊÆÔÚÓÚÁé»î£¬ÎÒÃDz»±ØÎ¬»¤´óÁ¿µÄ¹æÔò£¬¶øÇÒ»¹¿ÉÒÔ¸ü½øÒ»²½£¬°Ñ½âÎö¹æÔòÒ²ÅäÖõ½ÅäÖÃÎļþÖУ¬ÒòΪCommons DigesterÒѾ­ÌṩÁËÕâÖÖÖ§³Ö¡£ ÔÚÎÒÃǵÄÓ¦ÓÃÖУ¬ÓÐÁ½¸öµØ·½»áÓõ½XML½âÎö£¬¸ÕºÃ¿ÉÒÔÌåÏÖÁ½ÖÖ²»Í¬Ó÷¨µÄÓÅÊÆ¡£ÆäÒ»ÊÇϵͳ³õʼ»¯Ê±µÄÅäÖÃÎļþ½âÎö£¬ÔÚÕâÖÖÇé¿öÏ£¬ÎÒ»áÑ¡Ôñȱʡ¹æÔò£¬ÒòΪÎÒÃǵÄÓ¦ÓÃÊÇÒ»¸ö·þÎñÆ÷¶ËµÄÓ¦Ó㬶ÔÓÚϵͳ³õʼ»¯£¬²¢Ã»Óзdz£¸ßµÄÐÔÄÜÒªÇ󣬶øÇÒÔÚ¿ª·¢¹ý³ÌÖУ¬ÅäÖÿÉÄÜ»áËæ¿ª·¢¶ø±ä¶¯£¬Ò»¸öÁé»îµÄ½â¾ö·½°¸ÔÚÕâÀï³ÉΪÁËÒ»¸öºÜºÃµÄÑ¡Ôñ¡£Óë´Ëͬʱ£¬ÎÒÃDZØÐ뱣֤ϵͳÕý³£ÔËÐÐʱµÄ¸ßЧ¡£ÔËÐÐʱÊÇÎÒÐèÒª½âÎöXMLµÄµÚ¶þ¸öµØ·½£¬ÓÉÓÚͨÐÅЭÒéÊÇXML¸ñʽµÄ£¬¶øÇÒÐÔÄÜÒªÇ󼫸ߣ¬¶øÇÒͨÐÅЭÒé»ù±¾ÉÏÔÚ¿ª·¢Ö®³õ¾ÍÒѾ­Îȶ¨ÏÂÀ´£¬ÕâÀïÎÒ»áÑ¡Ôñ×Ô¶¨Ò广Ôò£¬ÒÔ´ËÌá¸ßϵͳÔËÐеÄÐÔÄÜ¡£ ÔÚ×öϵͳÉè¼ÆÊ±£¬ÎÒÃdz£³£»áÃæÁÙ¶àÖÖÑ¡Ôñ£¬ÕâÖÖÇé¿öÏ£¬ÐèÒªÎÒÃǶԸ÷ÖÖ½â¾ö·½°¸½øÐзÖÎö£¬ÆÀ¹ÀÆäÓÅÁÓ¡£µ«ÕæÕý¶Ô·½°¸Ñ¡ÔñÆä¾ö¶¨ÐÔÒòËØµÄÊÇÎÒÃÇÃæ¶ÔµÄÎÊÌ⣬ûÓÐÁË»·¾³£¬¹ÂÁ¢µÄÌÖÂÛÊÇûÓÐÒâÒåµÄ¡£ dreamhead @ 22:02 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(1) | ÒýÓÃTrackback(0) | ±à¼­ 2004-11-09 23:14 ³ÉΪ¿ª·¢Õß ÕâÊÇÒ»¸öºÜÈÃÈ˷ѽâµÄ±êÌ⣬ͨ³£À´Ëµ£¬³ÌÐòÔ±¶¼ÊÇ¿ª·¢Õß¡£Ã»´í£¬¶ÔÓÚÎÒÃǵÄÓû§¶øÑÔ£¬ÎÒÃÇÊÇ¿ª·¢Õߣ¬Òò´Ë£¬¶ÔËûÃǶøÑÔ£¬ÎÒÃÇÓµÓÐ×ÅÎÞ¾¡µÄħÁ¦£¬¿ÉÒÔ´´Ôì³öÁíÍâÒ»¸öÊÀ½ç£¬¶øËûÃÇÖ»ÄÜÔÚÎÒÃÇȦ³öµÄÍÁµØÉϻ¡£²»¹ý£¬ÄãÊÇ·ñÏë¹ýÕâÑùµÄÎÊÌ⣬ÔÚÎÒÃÇΪ±ðÈËÖ¸³öÒ»ÌõÃ÷·µÄͬʱ£¬×Ô¼ºÒ²ÕýÔÚ±ðÈ˵ĹÄÕÆÖ®ÖÐÆðÎè¡£ ×÷Ϊ³ÌÐòÔ±£¬ÎÒÃǾ­³£»á×öһЩ¿ò¼ÜµÄÓû§¡£Ïë±ØJava³ÌÐòÔ±ÃǶÔÓÚservlet²¢²»Ä°Éú£¬ºÜ³¤Ò»¶Îʱ¼äÄÚ£¬ÎÒÒ»Ö±°ÑËüµ±×÷Ò»¸öÆÕͨµÄAPI£¬ÐèÒªµÄʱºòÄÜÕÒµ½ÓÐÄÄЩ·½·¨×ãÒÓ¡£½üÀ´ÔÚ¿¼ÂÇϵͳ½á¹¹µÄÉè¼Æ£¬ÊµÏÖÁËÒ»¸ö¼òµ¥µÄÉúÃüÖÜÆÚ¿ò¼Ü£¬ÆäÖÐÓÐÒ»¸öÉúÃüÖÜÆÚʼþ¼àÌýµÄ»úÖÆ¡£Ëùν¼àÌý²»¹ýÊÇObserverģʽµÄÒ»ÖÖʵÏÖ£¬Ò²¾ÍÊÇ·¢ÉúÌØ¶¨Ê¼þÖ®ºó£¬µ÷ÓüàÌýÆ÷֪ͨËüÃÇ·¢ÉúÁËЩʲô¡£ÐÅÊÖ·­ÆðÊֱߵġ¶JavaÓëģʽ¡·£¬¡¶Servlet¼¼ÊõÖеÄģʽ¡·Ò»ÕÂÒ»ÏÂ×ÓÎüÒýÁËÎÒ¡£ËäÈ»ÒÔÇ°Ò²Ôø¾­¿´¹ýÕâÕ£¬µ«Õ¾ÔÚÓû§µÄ½Ç¶È£¬ÎÒÖ»ÊÇÏëÁ˽âÓÐЩʲô£¬¶ø´Óδ¿¼ÂǹýÕâЩ¶«Î÷ΪʲôÕâÑùÉè¼Æ£¬µ±ÎÒ³ÉΪһ¸ö¿ª·¢Õߣ¬È´·¢ÏÖÁËÄÇÊÇÒ»¸ö±ðÓж´ÌìµÄÊÀ½ç£¬Servlet¼¼ÊõÖеÄһЩ¸ÅÄîÒ»ÏÂ×ÓÓ¿ÉÏÐÄÍ·£¬Ï¸Ï¸Æ·Î¶£¬Ô­À´ËüÓëÐÄÖй¹ÏëµÄ¿ò¼ÜÓÐ×ÅÐí¶àÏà֮ͨ´¦£º¸÷ÖÖListener£¨ServletContextListener¡¢ServletContextAttributeListener¡¢HttpSessionListener¡¢HttpSessionAttributeListener£©ÌṩµÄ¾ÍÊÇÎÒÒªÉè¼ÆµÄ¼àÌý»úÖÆ£¬¶øFilterÔòÓëÎÒ¹¹ÏëÖÐInterceptor»úÖÆÒìÇúͬ¹¤£¨JBossµÄÁé»î¾ÍÊÇÓÉInterceptor´ï³ÉµÄ£©£¬ServletÔÚÎÒµÄÉè¼ÆÖжÔÓ¦ÁË×îºËÐĵÄService¡£ÎÒÔÚ˼¿¼¿ò¼ÜÉè¼ÆµÄʱºò£¬Áé»îÐÔÊÇÒ»¸öºÜÖØÒªµÄÒòËØ£¬ÓëServletµÄÓ¡Ö¤£¬ÈÃÎÒÖØÐÂÈÏʶÁËÕâ¸öÊìϤµÄİÉúÈË¡£ºÃ¶«Î÷¾ÍÔÚÉí±ß£¬Ö»ÊÇ×Ô¼ºÓÐÑÛ²»Ê¶Ì©É½°ÕÁË¡£¶ÔÓÚ¿ò¼Ü¶øÑÔ£¬ÆäÉè¼ÆÕßÊÇÕⳡÓÎÏ·ÖÐ×î¿ìÀÖµÄÈË£¬³ýÁË»áµÃµ½¿ª·¢¹ý³ÌÖеÄÀÖȤ֮Í⣬Ϊ±ðÈËÖÆ¶©¹æÔòµÄÀÖȤҲÊdz¬ºõÏëÏóµÄ¡£ ¿ò¼ÜÉè¼ÆÕßÔڵõ½ÊôÓÚ×Ô¼ºµÄ¿ìÀÖͬʱ£¬ËûÃÇ»¹Òª×ñÊØÓïÑÔÉè¼ÆÕßÖÆ¶©µÄ¹æÔò¡£¾Ù¸ö¼òµ¥µÄÀý×Ó£¬ÎÒÃÇÖªµÀC++ÓïÑÔÔÚCÔ­ÓеÄÖµ£¨value£©¡¢Ö¸Õ루pointer£©»ù´¡Ö®ÉÏÓÖÔö¼ÓÁËÒ»ÖÖÒýÓã¨reference£©¡£CÓïÑÔÒѾ­ÓÃÊÂʵ֤Ã÷ÁË×Ô¼ºµÄÎÞËù²»ÄÜ£¬ÖµºÍÖ¸ÕëÒѾ­×ã¹»Íê³ÉËùÓеÄÐèÇ󣬶øÒýÓÃÓв»ÏñÀࣨclass£©¡¢Ä£°å£¨template£©Ö®ÀàµÄ¸ÅÄîÄܹ»ÌṩÁíÒ»ÖÖ³éÏó£¬ÄÇËüµÄÒâÒåºÎÔÚÄØ£¿ÎҵĴð°¸ÊÇËü²»¹ýÊÇÒ»ÖÖÓï·¨ÉϵıãÀû¶øÒÑ¡£ÔÚ±àÒëÆ÷ʵÏֵĹý³ÌÖУ¬ÒýÓûáÒÔÖ¸ÕëµÄÐÎʽ±íÏÖ³öÀ´£¬¶øÔÚ´úÂëÖÐÕ¹ÏÖ³öÀ´µÄʱºò£¬ËüÓëÆÕͨµÄֵ˿ºÁ²»²î¡£×÷Ϊº¯ÊýµÄ¿Í»§¶Ë£¬´úÂë±àдʱ²»ÔÙÏñÒÔǰָÕëÄÇÑùÐèÒª¶îÍâµÄʹÓá®&¡¯£¬ÕâÑù´úÂë¿´ÉÏÈ¥»á¸É¾»Ðí¶à£¬¶øÐ§ÂÊÉÏÓв»»áÓÐË¿ºÁµÄËðʧ¡£ÕýÊÇ¿´ÖÐÁËÕâÖÖ´úÂëÉϵĸɾ»£¬Java¸É´àÈ¥µôÁËÖ¸Õ룬¶ø·á¸»ÁËÒýÓõĸÅÄ¿ÉÒÔÖÿա¢¿ÉÒÔ¸ÄдµÈµÈ£©¡£Éè¼ÆÕßÌå»áµ½¸÷ÖÖÀÖȤ֮ºó£¬¸øÎÒÃǵÄÖ»ÊÇÒ»¸öÉè¼ÆµÄ½á¹û£¬²»Ã÷¾ÍÀïµÄÎÒÃÇ´ó¶àÊýÇé¿öÏÂÖ»ÄܺýÍ¿µÄ×ñÑ­£¬¶øÎÞ·¨·ÖÏíÆäÖеÄÀÖȤ¡£ ÔÙÀ´¾ÙÒ»¸öÀý×Ó£¬C++ÖÐÓп½±´¹¹Ô캯ÊýµÄ¸ÅÄÆäʵÔÚJavaÖÐÎÒÃÇÒ²»áÓÐÓÃÒ»¸ö¶ÔÏó¹¹ÔìÁíÒ»¸ö¶ÔÏóµÄÇé¿ö£¬µ«JavaÈËÈ´´Ó²»Ìá¼°Õâ¸ö¸ÅÄÕâÊÇÎªÊ²Ã´ÄØ£¿Ô­ÒòÔÚÓÚC++ÖдæÔÚµÄpass by value¡£ËäÈ»ÔÚÓÅÐãµÄ±à³Ì·ç¸ñʱ£¬ÎÒÃǻᾡÁ¿Ê¹ÓÃpass by reference£¬µ«pass by valueÒÀÈ»²»¿É±ÜÃ⣬±ÈÈç¹¹ÔìÒ»¸öÓÐÀíÊýÀàµÄ³Ë·¨ÔËË㣬ÎÒÃÇÖ»ÄÜÒÔpass by valueµÄ·½Ê½½«º¯ÊýÖй¹Ôì³öÀ´ÓÃÒÔ´æ·Å³Ë»ýµÄÁÙʱ±äÁ¿´«µÝµ½º¯ÊýÍⲿ¡£pass by value¾Í±ØÐë´æÔÚÒ»¸ö¿½±´¹¹ÔìµÄ¹ý³Ì£¬ÎÒÃDz»¿ÉÄÜÖ±½Ó½«Ò»¿éÄÚ´æÖ±½Ó¸´ÖƵ½ÁíÒ»±ß£¬ÒòΪÈç¹ûÀඨÒåÖд涯̬·ÖÅäÄÚ´æµÄ²¿·Ö£¨Ò²¾ÍÊÇÖ¸Õ룩£¬´úÂë¾Í»á´æÔÚÎÊÌâ¡£¹ØÓÚÕâ¸öÎÊÌ⣬¡¶Effective C++¡·ÓÐÏêϸµÄ½²½â¡£ÎªÊ²Ã´JavaÖв»´æÔÚÕâ¸öÎÊÌâÄØ£¿ÒòΪJavaÖÐÀ´»Ø´«µÝµÄ¶¼ÊÇÒýÓ㬲»Éæ¼°¿½±´¹¹ÔìµÄ¹ý³Ì¡£ÄÇC++ÖоͲ»ÄÜÏñJavaÒ»ÑùÂ𣿱§Ç¸£¬²»ÄÜ¡£Ç°ÃæËµµÄpass by value²»¿É±ÜÃâµÄÒ»¸öÖØÒªÔ­ÒòÔÚÓÚÄã²»ÄܰѾֲ¿±äÁ¿´«³öÀ´£¬ÒòΪ¾Ö²¿±äÁ¿µÄÄÚ´æ»áÔÚº¯ÊýÖ´ÐÐÍêÖ®ºóÏú»Ù£¬ÎÒÃÇ»áÒò´ËÌå»ádanglingµÄÏÖÏó¡£Èç¹ûÊǶ¯Ì¬·ÖÅäµÄÄØ£¿ÔÚº¯ÊýÖÐnew³öÒ»¸ö¶ÔÏó´«³öÈ¥¿É²»ÊÇÒ»¸öºÜºÃµÄÐÐΪ£¬ÄÇÑùÎÒÃÇÖÁÉÙÒªÔÚÎĵµÖжà·ÑһЩ¿ÚÉàÀ´ËµÃ÷Õâ¿éÄÚ´æÓÉË­ÊÍ·Å¡£JavaÖÐΪʲôûÓÐÕâÑùµÄÎÊÌ⣬ÒòΪJavaµÄÄÚ´æÊÇÓÉGC¸ºÔð¡£ÏÖÔÚÎÒÃÇ¿ÉÒÔ¿´³ö£¬GC¾ö²»Ö¹ÊÇÄÚ´æ¹ÜÀíÕâô¼òµ¥£¬ËüµÄÓ°ÏìÉõÔ¶µÃºÜ¡£ ¿ª·¢ÕߺÍÓû§ËùÄÜÌå»áµ½µÄÀÖȤÊDz»Í¬¡£ÓÐÐí¶àÈË»áÈÏΪÈí¼þ¿ª·¢ÁËÎÞÉúȤ£¬ºÜÖØÒªµÄÒ»¸öÔ­ÒòÔÚÓÚËûÃÇÖ»ÊǹæÔòµÄ×ñÊØÕߣ¬¶øÖƶ©Õß¶ÔÕⳡÓÎÏ·ÔòÊÇÀִ˲»Æ£¡£ÏÖÔÚÐí¶àÈí¼þ¿ª·¢µÄÊé¼®¿ÉÒÔ¸æËßÄã¡°HOW¡±£¬È´ºÜÉÙ˵¡°WHY¡±¡£±ÈÈçÐí¶àÔ´ÂëÆÊÎöµÄÊ飬Ëü»á¸æËßÄãÕâ¶Î´úÂëÈçºÎÍê³ÉÁ˹¦ÄÜ£¬ÕâÖÖÊé¿´ÍêÖ®ºó£¬ÎÒÃÇÖÁ¶àÄܹ»ÕÕè»­»¢Ãè³öÒ»¸ö¼òµ¥µÄÀý×Ó£¬Èç¹ûÈÃÎÒÃÇ×Ô¼ºÀ´×ö£¬È´ÍùÍù²»ÖªµÀÈçºÎÏÂÊÖ¡£ÒòΪÎÒÃÇÖ»¿´µ½Á˽á¹û£¬¶øÃ»ÓÐÆäÖеĹý³ÌδÄÜÕ¹ÏÖ³öÀ´£¬¶øÕâ¸ö¹ý³ÌÍùÍù²ÅÊǾ«»ªËùÔÚ¡£ ËÆºõÖÆ¶©¹æÔòÊÇÒ»¼þºÜÒ£Ô¶µÄÊÂÇ飬Æäʵ×÷Ϊ×Ô¼ºÈí¼þµÄ¿ª·¢Õߣ¬ÎÒÃÇÓֺγ¢²»ÊǹæÔòµÄÖÆ¶©Õß¡£³¢ÊÔÕ¾ÔÚ¹æÔòÖÆ¶©µÄ½Ç¶ÈÀí½âһЩÎÊÌ⣬¼È¿ÉÒÔѧϰ¹æÔòÖÆ¶©µÄ·¨Ôò£¬Ò²ÄÜÌáÉý×Ô¼º¶Ô¹æÔòµÄÈÏʶ£¬ÕâÑùÎÒÃDzÅÄÜÔÚÕⳡÓÎÏ·Öиü¼ÓÓÎÈÐÓÐÓà¡£ dreamhead @ 23:14 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(5) | ÒýÓÃTrackback(0) | ±à¼­ 2004-11-08 23:01 µ±JavaÔâÓöOUT²ÎÊý ÓÃJavaдһ¸ö½»»»Á½¸öÊýµÄ³ÌÐò£¬Õ⻹²»¼òµ¥£¬ÏÂÃæÊǺÜÈÝÒ×д³öµÄÒ»¸ö£º void swap(int a, int b) { int temp = a; a = b; b = temp; } ÊìϤJavaµÄÄãÇá¶øÒ׾ٵľͿ´³öÁËÎÊÌâËùÔÚ£¬ÔÚJavaÓïÑÔÖУ¬»ù±¾ÀàÐÍ×÷Ϊ²ÎÊýÊÇͨ¹ý´«Öµ£¨pass by value£©µÄ·½Ê½½øÐд«µÝµÄ£¬ËùÒÔ£¬ÕâÀï¸Ä±äµÄÊÇ´«¹ýÀ´µÄ¡°Öµ¡±£¬¶ø·ÇÎÒÃÇʵ¼ÊµÄ²ÎÊý¡£ ¸ÄÒ»ÏÂÎÒÃǵÄÄ¿±ê£¬½»»»Á½¸ö¶ÔÏó£¬ÕÕ°áÉÏÃæµÄģʽ£º void swap(Object a, Object b) { Object temp = a; a = b; b = temp; } Õâ¸ö·½·¨¿ÉÒÔÕý³£Ö´ÐÐÂð£¿ÕâÊÇÒ»¸ö±È½ÏÈóõѧÕߺýÍ¿µÄÎÊÌâ¡£Õ§¿´Ö®Ï£¬¶ÔÏ󴫵ݹýÀ´µÄÊÇÒýÓã¨pass by reference£©£¬¸Ä±äÒýÓõĽá¹ûÓ¦¸Ã¿ÉÒÔ×÷Óõ½Íⲿ¡£Êµ¼ÊÉÏ£¬µ÷ÓÃÕâ¸öº¯Êýǰºó£¬×÷Ϊʵ¼Ê²ÎÊýµÄ¶ÔÏó²»»áÓÐÈκθı䣬Ҳ¾ÍÊÇ˵£¬ÕâÖ»ÊÇÒ»¸öÀË·Ñʱ¼äµÄ·½·¨¡£ÕâÖÖpass by referenceʵ¼ÊÉÏÒ²ÊÇÒ»ÖÖpass by value£¬²»Í¬µÄÊÇ£¬ÕâÀïµÄvalueÊÇreference¶øÒÑ¡£ËùÒÔ£¬¶Ô´«ÈëµÄreferenceÖØÐ¸³ÖµÖ»ÊǶԸ±±¾½øÐвÙ×÷£¬¶ø±¾×ðûÓÐÊܵ½ÈκÎÓ°Ïì¡£ Éè¼Æ·½·¨µÄʱºò£¬´ó¶àÊýµÄ²ÎÊýÊÇ×÷ΪIN²ÎÊý³öÏÖ£¬Ò²¾ÍÊÇÏò·½·¨´«ÈëÒ»¸öÖµ£¬µ«ÓÐʱºò£¬ÎÒÃÇÒ²ÐèÒª²ÎÊý×÷OUT²ÎÊý¡ª¡ª´Ó·½·¨ÄÚÈ¡»ØÒ»¸öÖµ£¬¾ÍÏñÇ°ÃæswapÏ£Íû×öµÄÄÇÑù¡£Èç¹ûÄãÁ˽âIDL£¨Interface Definition Language£©µÄ»°£¬ÕâЩÄÚÈÝÓ¦¸Ã»áÈÃÄãÓÐһ˿Ç×ÇиС£ ÔÚC++ÖУ¬Èç¹ûÏ£ÍûÒ»¸ö²ÎÊý×÷ΪOUT²ÎÊý£¬ÎÒÃÇ¿ÉÄÜ»áÏëµ½Ö¸ÕëºÍÒýÓá£ÎªÁËÈõ÷ÓôúÂëÉÙд¼¸¸ö¡®&¡¯£¬ÎÒÃÇ¿ÉÄÜ»áÑ¡ÔñÒýÓᣠvoid swap(int &a, int &b) { int temp = a; a = b; b = temp; } µ«µ½ÁËJavaÖУ¬Ãæ¶ÔÕâÑù¼òµ¥µÄÒ»¸öÐèÇó£¬ÎÒÃÇÈ´ºÜÄÑͨ¹ý×î¼òµ¥µÄ·½Ê½Íê³É£¬Ô­ÒòÉÏÃæÒѾ­ËµµÃºÜÇå³þÁË¡£ÄѵÀÎÒÃÇÖ»ÄÜÊøÊÖ¾ÍÇÜÁËÂð£¿ÏÔÈ»²»ÊÇ¡£ËäÈ»ÎÒÃDz»ÄܰÑÒýÓÃÈçºÎ£¬µ«ÎÒÃÇÈÔÈ»¿ÉÒÔ¶ÔÒýÓÃÖ¸ÏòµÄÄÚÈÝʹϺÝÊÖ£¬ÓÚÊÇÓÐÁËÕâÑùµÄ½â¾ö·½°¸£¬Ìṩһ¸ö¶ÔÏó·â×°À࣬¼òµ¥Æð¼û£¬ÕâÀï°ÑÄÚ²¿³ÉÔ±ÖóÉÁËpublic£º class ObjectHolder { public Object object; } ÓÃËü¸ÄдÎÒÃǵÄswap£º void swap(ObjectHolder a, ObjectHolder b) { Object temp = a.object; a.object = b.object; b.object = temp; } ²»¹ýµ÷Óö˴úÂë»áÏԵø´ÔÓÐí¶à£¬ÐèÒª°Ñ¶ÔÏó·â×°µ½ObjectHolder£¬ÕâÑùÖ´ÐÐÍêswapÖ®ºó£¬ObjectHolderÖÐËù·ÅµÄ¶ÔÏó±ãÒѾ­ÊÇÐÞ¸ÄÖ®ºóµÄ¶ÔÏó¡£ÈôÒªÔ­ÓжÔÏóÒ²Êܵ½Ó°Ï죬ÄÇ»¹ÐèÒª°ÑObjectHolderµÄֵȡ³ö£¬ÖØÐ¸øÔ­ÓжÔÏó¸³Öµ¡£ApacheµÄAxis¾ÍÊÇÓÃÕâÖÖ·½°¸½â¾öÁËOUT²ÎÊýµÄÎÊÌâ¡£ JavaÓïÑÔ´ÓC++¼ò»¯¶øÀ´£¬Ò»Çб¾×żòµ¥µÄÔ­Ôò£¬µ«ÓÐЩµØ·½ÊµÔÚҲ̫¼òµ¥ÁË£¬ÕâÑùÔì³ÉµÄ½á¹û¾ÍÊÇÓÐʱΪÁËÍê³ÉÒ»¸ö¼òµ¥µÄ¹¦ÄܶøÈƺܴóµÄÍä×Ó¡£ÕýÊÇÒòΪÕâÑù£¬JavaÓïÑÔÕâЩÄê²Å»á´¦ÓÚÒ»¸ö²»¶Ï·¢Õ¹µÄ¹ý³ÌÖС£Ò²ÐíµÈJavaÇ÷ÓÚÍêÕûµÄÄÇÒ»Ì죬¿ÖÅÂûÓÐÈË»áÔÙÒÔ¼òµ¥ÐÎÈÝËüÁË¡£ dreamhead @ 23:01 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(1) | ÒýÓÃTrackback(0) | ±à¼­ ÈÕÀú 2004 Äê 12 Ô Sun Mon Tue Wen Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ×î½ü¸üР֪ʶµÄ»ýÀÛ µ¥Ç¹Æ¥Âí ¼¼ÊõµÄÎÄ×Ö ÓãÓëÐÜÕÆ ³ÉΪ¿ª·¢Õß µ±JavaÔâÓöOUT²ÎÊý еĿªÊ¼ ÉíÌå×îÖØÒª Hello VelocityÖ®ºó Hello Velocity ×îÐÂÆÀÂÛ »ÃÓ°·Êè : ÉÏÎç¿´ÍêÁË,ûÀ´µ. »ÃÓ°·Êè : ¿´ÍêÁË£¡ . corlin : дµÄ²»´í.) aero : ²»´í¡£ÖªÊ¶µÄ»ýÀÛ. david : дµÃºÜºÃ£¬Èçãå´º. b : PMµ£µ±¼Ü¹¹Ê¦µÄÈÎ. »ÃÓ°·Êè : ÉíÌå???ÎÒÃǵÄÉíÌ. ÷á÷á²è : ÎÒÃÇ×ö³ÌÐòÔ±µÄÓ¦. aero : ì¶ÜÎÞ´¦²»ÔÚ£¬Ã¬. »ÃÓ°·Êè : ºÇºÇ ûʲôÉÍʶ². ´æµµ ÎÒµÄÁ´½Ó DOMINOO ³Á˼Õß ³ÌÐò½³ ͸Ã÷˼¿¼ ±ùÔÆ Enterprise Application Development ÅÖ×Ó²»¼õ·Ê SpringÖÐÎÄÂÛ̳ Open Source Thoughts Èí¼þÈË Redwood Rapid Chaunt Travel aero's home AgileJava tinyfoolµÄ¿ª·¢ÈÕ¼Ç ÄãÊÇÌìʹ£¬Ä㳯ÎÒÒªÊ²Ã´ÄØ£¿ ÆÜ¾ÓÓëÓÎÄÁÖ®µØ