ÍøÂçÅÀ³æ£¨Spider£©JavaʵÏÖÔÀí
“ÍøÂçÖ©Öë”»òÕß˵“ÍøÂçÅÀ³æ”£¬ÊÇÒ»ÖÖÄÜ·ÃÎÊÍøÕ¾²¢¸ú×ÙÁ´½ÓµÄ³ÌÐò£¬Í¨¹ýËü£¬¿É¿ìËٵػ³öÒ»¸öÍøÕ¾Ëù°üº¬µÄÍøÒ³µØÍ¼ÐÅÏ¢¡£±¾ÎÄÖ÷Òª½²ÊöÈçºÎʹÓÃJava±à³ÌÀ´¹¹½¨Ò»¸ö“Ö©Ö딣¬ÎÒÃÇ»áÏÈÒÔÒ»¸ö¿É¸´ÓõÄÖ©ÖëÀà°ü×°Ò»¸ö»ù±¾µÄ“Ö©Ö딣¬²¢ÔÚʾÀý³ÌÐòÖÐÑÝʾÈçºÎ´´½¨Ò»¸öÌØ¶¨µÄ“Ö©Öë”À´É¨ÃèÏà¹ØÍøÕ¾²¢ÕÒ³öËÀÁ´½Ó¡£
JavaÓïÑÔÔڴ˷dz£ÊʺϹ¹½¨Ò»¸ö“Ö©Ö딳ÌÐò£¬ÆäÄÚ½¨Á˶ÔHTTPÐÒéµÄÖ§³Ö£¬Í¨¹ýËü¿ÉÒÔ´«Êä´ó²¿·ÖµÄÍøÒ³ÐÅÏ¢£»Æä»¹ÄÚ½¨ÁËÒ»¸öHTML½âÎöÆ÷£¬ÕýÊÇÕâÁ½¸öÔÒòʹJavaÓïÑÔ³ÉΪ±¾ÎĹ¹½¨“Ö©Ö딳ÌÐòµÄÊ×Ñ¡¡£
ÎÄÕºóÃæÀý1µÄʾÀý³ÌÐò£¬½«»áɨÃèÒ»¸öÍøÕ¾£¬²¢Ñ°ÕÒËÀÁ´½Ó¡£Ê¹ÓÃÕâ¸ö³ÌÐòʱÐèÏÈÊäÈëÒ»¸öURL²¢µ¥»÷“Begin”°´Å¥£¬³ÌÐò¿ªÊ¼Ö®ºó£¬“Begin”°´Å¥»á±ä³É“Cancel”°´Å¥¡£ÔÚ³ÌÐòɨÃèÍøÕ¾ÆÚ¼ä£¬»áÔÚ“Cancel”°´Å¥Ö®ÏÂÏÔʾ½ø¶È£¬ÇÒÔÚ¼ì²éµ±Ç°ÍøÒ³Ê±£¬Ò²»áÏÔʾÏà¹ØÕý³£Á´½ÓÓëËÀÁ´½ÓµÄÊýÄ¿£¬ËÀÁ´½Ó½«ÏÔʾÔÚ³ÌÐòµ×²¿µÄ¹ö¶¯Îı¾¿òÖС£µ¥»÷“Cancel”°´Å¥»áֹͣɨÃè¹ý³Ì£¬Ö®ºó¿ÉÒÔÊäÈëÒ»¸öеÄURL£»Èç¹ûÆÚ¼äûÓе¥»÷“Cancel”£¬³ÌÐò½«»áÒ»Ö±ÔËÐÐÖ±µ½²éÕÒÍêËùÓÐÍøÒ³£¬´Ëºó£¬“Cancel”°´Å¥»áÔÙ´Î±ä»Ø“Begin”£¬±íʾ³ÌÐòÒÑÍ£Ö¹¡£
ÏÂÃæ½«ÑÝʾʾÀý³ÌÐòÊÇÈçºÎÓë¿É¸´ÓÓSpider”Àཻ»¥µÄ£¬Ê¾Àý³ÌÐò°üº¬ÔÚÀý1µÄCheckLinksÀàÖУ¬Õâ¸öÀàʵÏÖÁËISpiderReportable½Ó¿Ú£¬ÈçÀý2Ëùʾ£¬ÕýÊÇͨ¹ýÕâ¸ö½Ó¿Ú£¬Ö©ÖëÀà²ÅÄÜÓëʾÀý³ÌÐòÏཻ»¥¡£ÔÚÕâ¸ö½Ó¿ÚÖУ¬¶¨ÒåÁËÈý¸ö·½·¨£ºµÚÒ»¸ö·½·¨ÊÇ“spiderFoundURL”£¬ËüÔÚÿ´Î³ÌÐò¶¨Î»Ò»¸öURLʱ±»µ÷Óã¬Èç¹û·½·¨·µ»Øtrue£¬±íʾ³ÌÐòÓ¦¼ÌÐøÖ´ÐÐÏÂÈ¥²¢ÕÒ³öÆäÖеÄÁ´½Ó£»µÚ¶þ¸ö·½·¨ÊÇ“spiderURLError”£¬ËüÔÚÿ´Î³ÌÐò¼ì²âURLµ¼Ö´íÎóʱ±»µ÷Óã¨Èç“404 Ò³ÃæÎ´ÕÒµ½”£©£»µÚÈý¸ö·½·¨ÊÇ“spiderFoundEMail”£¬ËüÔÚÿ´Î·¢ÏÖµç×ÓÓʼþµØÖ·Ê±±»µ÷Óá£ÓÐÁËÕâÈý¸ö·½·¨£¬SpiderÀà¾ÍÄܰÑÏà¹ØÐÅÏ¢·´À¡¸ø´´½¨ËüµÄ³ÌÐòÁË¡£
ÔÚbegin·½·¨±»µ÷Óú󣬓֩Ö딾ͿªÊ¼¹¤×÷ÁË£»ÎªÔÊÐí³ÌÐòÖØ»æÆäÓû§½çÃæ£¬“Ö©Öë”ÊÇ×÷Ϊһ¸öµ¥¶ÀµÄÏß³ÌÆô¶¯µÄ¡£µã»÷“Begin”°´Å¥»á¿ªÊ¼Õâ¸öºǫ́Ị̈߳¬µ±ºǫ́Ïß³ÌÔËÐÐÖ®ºó£¬ÓÖ»áµ÷ÓÓCheckLinks”ÀàµÄrun·½·¨£¬¶ørun·½·¨ÊÇÓÉSpider¶ÔÏóʵÀý»¯Ê±Æô¶¯µÄ£¬ÈçÏÂËùʾ£º
s
Ïà¹ØÎĵµ£º
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
2.ÄãÐèҪѧϰJavaÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºËÐÄÀà¿â(collections£¬serialization£¬streams£¬networking£¬?multithreading£¬reflection£¬event£¬handling£¬NIO£¬localiza ......
ÒªÀí½â javaÖÐStringµÄÔË×÷·½Ê½£¬±ØÐëÃ÷È·Ò»µã£ºStringÊÇÒ»¸ö·Ç¿É±äÀࣨimmutable£©¡£Ê²Ã´ÊǷǿɱäÀàÄØ£¿¼òµ¥ËµÀ´£¬·Ç¿É±äÀàµÄʵÀýÊDz»Äܱ»Ð޸ĵģ¬Ã¿¸öʵÀýÖаüº¬µÄÐÅÏ¢¶¼±ØÐëÔÚ¸ÃʵÀý´´½¨µÄʱºò¾ÍÌṩ³öÀ´£¬²¢ÇÒÔÚ¶ÔÏóµÄÕû¸öÉú´æÖÜÆÚÄڹ̶¨²»±ä¡£javaΪʲôҪ°ÑStringÉè¼ÆÎª·Ç¿É±äÀàÄØ£¿Ä ......
×î½üÔÚ¿´JVMÓйض«Î÷£¬·¢ÏÖÒ»¸ö¼òµ¥ºÍfreeµÄHEAP DUMP²é¿´·½Ê½£¨»ùÓÚSUN JDK)
ÏÈʹÓÃ
jmap -dump:live,format=b,file=heap.bin 9381
ÆäÖÐ9381ΪJAVA ½ø³ÌPID
È»ºóÖ´ÐÐjhat heap.bin
´ýÏÔʾ
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.
ÔÙʹÓÃWEB BROWER µÇ¼jhat ä¯ÀÀÆ÷¶Ë¿Ú¼´¿É ......
²ÉÓÃÔ¤±àÒëÓï¾ä¼¯£¬ËüÄÚÖÃÁË´¦ÀíSQL×¢ÈëµÄÄÜÁ¦£¬Ö»ÒªÊ¹ÓÃËüµÄsetString·½·¨´«Öµ¼´¿É£º
String sql= "select * from users where username=? and password=?;
PreparedStatement preState = conn.prepare ......
ANT_HOME D:\apache-ant-1.8.0-bin\apache-ant-1.8.0
AXIS2_HOME D:\axis2-1.5.1
MAVEN_HOME D:\apache-maven-2.2.1
java_home C:\Program Files\Java\jdk1.6.0_18
path C:\ProgramFiles\Java\jdk1.6.0_18\bin;%AXIS2_HOME%/bin;%MAVEN_HOME%\bin;
%ANT_ ......