ËĸöÓꦵÄJava±àÂëϰ¹ß
³ÌÐòÖеıàÂë·ç¸ñÈÃÎÒÃǵıà³Ì¹¤×÷±äµÃÇáËÉ£¬ÌرðÊdzÌÐòά»¤Ô±£¬ËûÃÇÒª¾³£ÔĶÁÆäËûÈ˱àдµÄ³ÌÐò±àÂ룬ÕâÒ»µãÓÈÆäÍ»³ö¡£±àÂë¹æ·¶´Ó¸ù±¾ÉϽâ¾öÁ˳ÌÐòά»¤Ô±µÄÄÑÌ⣻¹æ·¶µÄ±àÂëÔĶÁºÍÀí½âÆðÀ´¸üÈÝÒ×£¬Ò²¿ÉÒÔ¿ìËٵIJ»·ÑÁ¦ÆøµÄ½è¼ø±ðÈ˵ıàÂë¡£¶Ô½«À´Î¬»¤Äã±àÂëµÄÈËÀ´Ëµ£¬ÄãµÄ±àÂëÔ½ÓÅ»¯£¬ËûÃǾÍԽϲ»¶ÄãµÄ±àÂ룬Àí½âÆðÀ´Ò²¾ÍÔ½¿ì¡£
¡¡¡¡Í¬Ñù£¬¸ßˮƽµÄ±àÂë·ç¸ñ£¨ÀýÈç¹Ì¶¨µÄ·â±Õ½á¹¹£©Ä¿µÄÔÚÓÚ¸ÄÉÆÉè¼ÆºÍʹ±àÂë¸üÒ×ÓÚÀí½â¡£ÊÂʵÉÏ£¬×îºóÓÐЩÈË»áÈÏΪ¸ÄÉÆÉè¼ÆºÍÌá¸ß±àÂëµÄÒ×¶ÁÐÔÊÇÒ»»ØÊ¡£
¡¡¡¡±¾ÎÄÖÐÄã»á¿´µ½Ò»Ð©Á÷ÐеıàÂë·ç¸ñ±»ÃæÏò¶ÁÕߵĸüÒ×ÓÚ½ÓÊܵķç¸ñËùÌæ´ú¡£ÓÐÈËÕùÂÛ˵ÕâЩ·ç¸ñ¶¼ÒѾ±»´ó¼Ò¹ã·ºÊ¹Ó㬲»Ó¦¸Ã¼òµ¥µÄΪÁË´ïµ½¶ÁÕߵįÚÍû¶øÅׯú¡£È»¶ø£¬¶ÁÕßµÄÆÚ´ýÖ»ÊÇÆäÖÐÒ»·½ÃæµÄÔÒò£¬²»¿ÉÄÜÁè¼ÝÓÚËùÓÐÒòËØÖ®ÉÏ¡£ÁгöËÄÖÖ³£¼ûµÄÎÊÌ⣺
¡¡¡¡1.¶Ô¾ÖÓò±äÁ¿(local variables)¡¢²ÎÊý(method arguments)¡¢×Ö¶Î(fields)ÕâÈýÖÖ±äÁ¿µÄÃüÃûûÓÐÇø·Ö:
¡¡¡¡¶Ô¿´±àÂëµÄÈËÀ´Ëµ£¬Ê×ÏÈҪŪÇåÕâЩÊý¾ÝÈçºÎ¶¨ÒåµÄ£¿¿´Ò»¸öÀàʱ£¬µÃŪÇå³þÿ¸öÌõÄ¿ÊǾÖÓò±äÁ¿£¿×ֶΣ¿»¹ÊDzÎÊý£¿ÓбØÒªÊ¹ÓÃÒ»¸ö¼òµ¥µÄÃüÃûÔ¼¶¨À´¶¨ÒåÕâЩ±äÁ¿£¬Ôö¼ÓÒ×¶ÁÐÔ¡£
¡¡¡¡ºÜ¶àȨÍþ»ú¹¹¹æ·¶¹ý×ֶαäÁ¿ÓÃÒÔÇø·ÖËüÓëÆäËüµÄ±äÁ¿£¬µ«ÕâÔ¶Ô¶²»¹»¡£¿ÉÒ԰ѶÔ×ֶεĺÏÀíµÄÃüÃûÔ¼¶¨Âß¼Ò²Ó¦ÓÃÔÚ²ÎÊýÉÏÃæ¡£ÏÈ¿´Ê¾Àý1£ºÃ»ÓнøÐÐÇø·ÖÕâÈýÖÖ±äÁ¿µÄÀඨÒ壬ÈçÏÂËùʾ£º
¡¡¡¡Ê¾Àý1£º
public boolean equals (Object arg) {
if (! (arg instanceof Range)) return false;
Range other = (Range) arg;
return start.equals(other.start) && end.equals(other.end);}
¡¡¡¡ÔÚÕâ¸ö·½·¨ÖУ¬argÖ±½ÓÓÃargumentµÄËõд£¬ËäÈ»´ó¼ÒÒ»¿´¾ÍÖªµÀÕâÊDzÎÊýÁË£¬µ«ÕâÖÖÃüÃû·½Ê½È´¶ªÊ§Á˲ÎÊý´ú±íµÄ¶ÔÏó±¾Éí µÄº¬Òå¡£´ó¼ÒÖªµÀÕâ ÊDzÎÊý£¬È´²»ÖªµÀÕâÊÇʲô²ÎÊý¡£Èç¹û·½·¨µÄ²ÎÊý¶àÒ»µã£¬¶¼°´ÕÕarg1£¬arg2ÕâÑùµÄ·½Ê½ÃüÃû£¬ÔĶÁ´úÂë µÄʱºòºÜÍ·ÌÛ¡£ÁíÍâÁ½¸ö×ֶαäÁ¿£¬startºÍ end£¬Í»È»Æ¾¿Õ¶ø³ö£¬ÏëһϲÅÖªµÀÕâÓ¦¸ÃÊÇ×ֶΡ£µ±È»£¬Õâ¸ö·½·¨ºÜ¶Ì£¬Ôì³ÉµÄÀ§ÄÑ»¹²»´ó£¬Èç¹ûÕâ¸ö·½·¨±È½Ï³¤µÄ»°£¬Í»È»¿´µ½startºÍendÁ½¸ö±ä Á¿£¬Ò»°ã»áÏÈÔÚÇ°ÃæÕÒÒ»ÏÂÊDz»ÊǾֲ¿±äÁ¿£¬È»ºó²ÅÄÜÈ·¶¨ÊÇÀàµÄ×ֶαäÁ¿¡£
¡¡¡¡Õâ¸öÎÊÌâÃ²ËÆÎ¢²»×ãµÀ£¬µ«ÎªÊ²Ã´ÒªÈôúÂëÔĶÁÕß»¨·Ñ¶îÍâʱ¼äÔÚÕâЩËöËéµÄÎÊÌâÉÏÄØ£¿Èç¹ûÓиö·½°¸ÄÜÈôúÂëÔĶÁÕßһĿÁËÈ»µÄÃ÷°×±äÁ¿ÊÇÄÇÖÖ±äÁ¿£¬ÎªÊ² ô²»²ÉÓÃÄØ£¿¾ÍÈçͬSteve McConnellÔÚ ¡¶´úÂë´óÈ«¡·ÖÐ˵µÄ:"
Ïà¹ØÎĵµ£º
JAVAµÄ½çÃæ²¼¾ÖÔÀí£ºÒòΪJavaÊÇ¿çÆ½Ì¨ÓïÑÔ£¬Ê¹Óþø¶Ô×ø±êÏÔÈ»»áµ¼ÖÂÎÊÌ⣬¼´ÔÚ²»Í¬Æ½Ì¨¡¢²»Í¬·Ö±æÂÊϵÄÏÔʾЧ¹û²»Ò»Ñù¡£Java ΪÁËʵÏÖ¿çÆ½Ì¨µÄÌØÐÔ²¢ÇÒ»ñµÃ¶¯Ì¬µÄ²¼¾ÖЧ¹û£¬Java½«ÈÝÆ÷ÄÚµÄËùÓÐ×é¼þ°²ÅŸøÒ»¸ö“²¼¾Ö¹ÜÀíÆ÷”¸ºÔð¹ÜÀí£¬È磺ÅÅÁÐ˳Ðò£¬×é¼þµÄ´óС£¬Î»Öõȣ¬µ±´°¿ÚÒÆ¶¯»òµ÷Õû´óСºó×é¼þÈçºÎ±ä»¯µÈ¹ ......
ת £ºhttp://kuru.javaeye.com/blog/288467
Java¶Ô¶àÏ̵߳ÄÖ§³ÖÓëͬ²½»úÖÆÉîÊÜ´ó¼ÒµÄϲ°®£¬Ëƺõ¿´ÆðÀ´Ê¹ÓÃÁËsynchronized¹Ø¼ü×־ͿÉÒÔÇáËɵؽâ¾ö¶àÏ̹߳²ÏíÊý¾Ýͬ²½ÎÊÌâ¡£µ½µ×ÈçºÎ£¿¨D¨D»¹µÃ¶Ôsynchronized¹Ø¼ü×ÖµÄ×÷ÓýøÐÐÉîÈëÁ˽â²Å¿É¶¨ÂÛ¡£ ×ܵÄ˵À´£¬synchronized¹Ø¼ü×Ö¿ÉÒÔ×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£¬Ò ......
1£¬¸ÅÊö£ºÏß³ÌµÄ¹ÒÆð²Ù×÷ʵÖÊÉϾÍÊÇʹÏ߳̽øÈë“·Ç¿ÉÖ´ÐД״̬Ï£¬ÔÚÕâ¸ö״̬ÏÂCPU²»»á·Ö¸øÏß³Ìʱ¼äƬ£¬½øÈëÕâ¸ö״̬¿ÉÒÔÓÃÀ´ÔÝÍ£Ò»¸öÏ̵߳ÄÔËÐУ»ÔÚÏß³Ì¹ÒÆðºó£¬¿ÉÒÔͨ¹ýÖØÐ»½ÐÑÏß³ÌÀ´Ê¹Ö®»Ö¸´ÔËÐС£µ±Ò»¸öÏ߳̽øÈë“·Ç¿ÉÖ´ÐД״̬£¬¼´¹ÒÆð״̬ʱ£¬±ØÈ»´æÔÚijÖÖÔÒòʹÆä²»ÄܼÌÐøÔËÐУ¬ÕâЩÔÒò¿ÉÄÜ ......
javaÖеÄÕýÔòλÓÚjava.util.regex°üÖУ¬Õâ¸ö°üÖÐÖ»ÓÐÒ»¸öMatchResult½Ó¿ÚºÍMatcher¡¢PatternÁ½¸öÀà¡£
ÕýÔòÖеÄÊýÁ¿´ÊÓÐGreedy (̰À·)¡¢Reluctant(ÀÁ¶è)ºÍPossessive(ǿռ)ÈýÖÖ
Greedy ÊýÁ¿´Ê
X?
X£¬Ò»´Î»òÒ»´ÎҲûÓÐ
X*
X£¬Áã´Î»ò¶à´Î
X+
X£¬Ò»´Î»ò¶à´Î
X{n ......
Ò»£¬Ïß³Ì״̬µÄ¼ì²é
Ò»°ãÇé¿öÏÂÎÞ·¨È·¶¨Ò»¸öÏ̵߳ÄÔËÐÐ״̬£¬¶ÔÓÚÕâЩ´¦ÓÚδ֪״̬µÄỊ̈߳¬¿ÉÒÔͨ¹ýisAlive()·½·¨ÓÃÀ´È·¶¨Ò»¸öÏß³ÌÊÇ·ñÈÔ´¦Ôڻ״̬¡£µ±È»¼´Ê¹´¦Óڻ״̬µÄÏß³ÌÒ²²¢²»Òâζ×ÅÕâ¸öÏß³ÌÒ»¶¨ÕýÔÚÔËÐУ¬¶ÔÓÚÒ»¸öÒÑ¿ªÊ¼ÔËÐе«»¹Ã»ÓÐÍê³ÉÈÎÎñµÄỊ̈߳¬Õâ¸ö·½·¨·µ»ØÖµÎªtrue¡£
......