Java ¶àÏß³Ì ÅÀ³æ³ÌÐò£¨spider£©Éè¼ÆÓëʵÏÖ
µ±spider³ÌÐò·ÃÎʵ½Ò»¸öÍøÒ³£¬±ØÐë½øÐÐÒÔϼ¸Ïî»ù±¾´¦Àí£º³éÈ¡ÍøÒ³Öаüº¬µÄÎı¾;³éÈ¡ÍøÒ³Öаüº¬µÄURL£¬²¢½«ÆäÇø·ÖÎªÍøÒ³Öаüº¬µÄÎı¾£»³éÈ¡ÍøÒ³Öаüº¬µÄURL£¬²¢½«ÆäÇø·ÖÎªÍøÕ¾ÄÚURL»òÍøÕ¾ÍâURL¡£
2.2¸÷Ö÷Òª¹¦ÄÜ Ä£¿é£¨ÀࣩÉè¼Æ
2.2.1 spiderÀà
¸ÃÀàΪÖ÷À࣬¼Ì³Ð×ÔÏß³ÌÀà¡£Ëü±¾Ê²¢²»×ö»ñÈ¡ÍøÒ³µÄ¾ßÌ幤×÷£¬¶øÊÇе÷ÆäËû¸÷À๲ͬÍê³ÉÈÎÎñ¡£ÆäÖ÷ÒªÀà³ÉÔ±¼°·½·¨ÈçÏ£º
2.2.2 spiderworkerÀà
¸ÃÀà¼Ì³ÐÏß³ÌÀ࣬½øÐлñÈ¡ÍøÒ³£¬³éÈ¡Îı¾£¬URLµÈʵ¼Ê¹¤×÷¡£
2.2.3 urlmanagerÀà
¸ÃÀà¹ÜÀíËù»ñµÃµÄ¸÷ÖÖURL£¬ÀûÓÃËÄÖÖURL¶ÓÁÐÀ´¹ÜÀí¡£
µÈ´ý¶ÓÁÐ:µÈ´ý¸ÕÎʵÄURL¶ÓÁУ¬¶ÓÁÐÖеÄURLÒ»¾·ÃÎÊÍê±ã½øÈëÍê³É¶ÓÁлò²»¿É´ïURL¶ÓÁС£ÔËÐжÓÁÐ:ÕýÔÚ·ÃÎʵÄURL¶ÓÁУ»Íê³É¶ÓÁУºÒÑ·ÃÎʹýµÄURL¶ÓÁУ»²»¿É´ï¶ÓÁУº²»¿É´ïµÄURL¶ÓÁУ¬¼´¸ÃURL¶ÔÓ¦µÄÎļþ²»¿É·ÃÎÊ¡£
2.2.4 spiderwatcherÀà
¸ÃÀàÓÃÀ´¼àÊÓ¸÷Ï̵߳ÄÔËÐÐÇé¿öÊý£¬ÄÜÈ·¶¨ÊµÊ±µÄ»î¶¯Ïß³ÌÊý¡£
2.3 SPIDER ¹¤×÷¹ý³Ì
a ¸øspider³ÌÐò¸³ÓèÒ»¸ö³õʼURL£¬¼ÓÈëURLµÈ´ý¶ÓÁС£
b¸ù¾ÝÐèҪȷ¶¨Ï̳߳شóС£¬Æô¶¯n¸öÏ̡߳£
c²éѯµÈ´ý¶ÓÁÐÖÐÊÇ·ñÓÐURL£¬ÈôûÓУ¬ÇÒÎÞÆäËû»î¶¯Ïß³ÌÐò£¬Ï߳̽áÊø£»ÈôÓÐת d¡£
d´ÓURLµÈ´ý¶ÓÁÐÖÐÈ¡³öÒ»¸öURL£¬²¢ÒÆÈëÔËÐжÔÁ÷£¬¸ù¾Ý¸ÃURLÈ¥·ÃÎÊ£¬²¢½øÐÐÍøÒ³ÏÂÔØ£¬³éÈ¡Îı¾£¬³éÈ¡Á´½ÓµÈ¹¤×÷¡£ÈôÍøÒ³Öаüº¬URL£¬Ôò°ÑÕâЩURL¼ÓÈëµÈ´ý¶ÓÁУ»°É·ÃÎʹýµÄURL¼ÓÈëÍê³É¶ÓÁУ¬×ªc
3.1 javaÖÐÏ̵߳ÄÉúÃüÖÜÆÚ
javaµÄÏ̴߳ӲúÉúµ½Ïûʧ£¬¿É·ÖΪËĸö״̬£º
a н¨×´Ì¬£ºÏß³ÌÔÚÒѱ»´´½¨µ«ÉÐδִÐÐÕâ¶Îʱ¼äÄÚ£¬´¦ÓÚн¨×´Ì¬¡£´Ëʱ£¬Ï̶߳ÔÏóÒѱ»·ÖÅäÄÚ´æ¿Õ¼ä £¬Æð˽ÓÐÊý¾ÝÒѱ»³õʼ»¯£¬µ«Ã»ÓиøÆä·ÖÅäϵͳ×ÊÔ´ÇÒÏß³Ìδ±»µ÷¶È¡£´¦ÓÚ´Ë״̬µÄỊ̈߳¬¿ÉÒÔͨ¹ýµ÷ÓÃstart£¨£©»òstop£¨£©º¯ÊýÀ´¿ªÊ¼Ï̻߳òÖÕÖ¹Ï̡߳£
b ÔËÐÐ״̬£º´¦ÓÚ´Ë״̬µÄỊ̈߳¬ËµÃ÷ËüÒÑÈ¡µÃ´¦ÀíÆ÷µÄ¿ØÖÆÈ¨£¬ÕýÔÚÖ´ÐÐÖС£
c ²»ÄÜÔËÐÐ״̬£ºµ±Ïß³ÌÐÝÃߣ¬±»¹ÒÆð»òµÈ´ýijһ×ÊԴʱ£¬Ëü±ã½øÈë²»ÄÜÔËÐÐ״̬¡£Èç¹ûÐÝÃßʱ¼ä¹ýÈ¥£¬»òÒÑ»ñµÃµÈ´ýµÄ×ÊÔ´£¬±äÖØÐ½øÈëÔËÐÐ״̬¡£
d ËÀ״̬£ºµ±Ïß³ÌÕý³£ÖÕÖ¹»òÇ¿ÐÐÖÕֹʱ£¬½øÈëËÀ״̬¡£´Ëʱ£¬Ïß³Ì·ÅÆúËùÓµÓеÄËùÓÐ×ÊÔ´¡£
3.2 ¶àÏß³Ìͬ²½
µ±Í¬Ê±ÔËÐеÄÏ໥¶ÀÁ¢µÄÏß³ÌÐèÒª¹²ÏíÊý¾Ý²¢ÇÒÐèÒª¿¼ÂÇÆäËûÏ̵߳Ä״̬ʱ£¬¾ÍÐèҪʹÓÃÒ»Ì×»úÖÆÊ¹µÃÕâЩÏß³Ìͬ²½£¬±ÜÃâÔÚÕùÓÃ×ÊԴʱ·¢Éú³åÍ»£¬ÉõÖÁ·¢
ÉúËÀËø¡£javaÌṩ¶àÖÖ»úÖÆÒÔʵÏÖÏß³Ìͬ²½¡
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
2. Calendar ¶ÔÏóµÄÈÝ´íÐÔ£¬Lenient ÉèÖà ÎÒÃÇÖªµÀÌØ¶¨µÄÔ·ÝÓв»Í¬µÄÈÕÆÚ£¬µ±Ò»¸öÓû§¸ø³ö´íÎóµÄÈÕÆÚʱ£¬Calendar ÈçºÎ´¦ÀíµÄÄØ£¿ import java.io.*;
import java.util.*; public class WhatIsCalendar
{
public static void main(String[] args) throws Exception{
......
Line.javaÎļþ-------Çý¶¯Àà
import javax.swing.JFrame;
public class Line
{
public static void main(String[] arg)
{
JFrame frame=new JFrame("Draw lines");
frame.setDefaultCloseOperation(JFrame.EX ......
JDK 5.0 ÖÐÔö¼ÓµÄ·ºÐÍÀàÐÍ£¬ÊÇ Java ÓïÑÔÖÐÀàÐͰ²È«µÄÒ»´ÎÖØÒª¸Ä½ø¡£µ«ÊÇ£¬¶ÔÓÚ³õ´ÎʹÓ÷ºÐÍÀàÐ͵ÄÓû§À´Ëµ£¬·ºÐ͵ÄijЩ·½Ãæ¿´ÆðÀ´¿ÉÄܲ»ÈÝÒ×Ã÷°×£¬ÉõÖÁ·Ç³£Ææ¹Ö¡£ÔÚ±¾ÔµēJava ÀíÂÛºÍʵ¼ù”ÖУ¬Brian Goetz ·ÖÎöÁËÊø¸¿µÚÒ»´ÎʹÓ÷ºÐ͵ÄÓû§µÄ³£¼ûÏÝÚå¡£Äú¿ÉÒÔͨ¹ýÌÖÂÛÂÛ̳Óë×÷ÕßºÍÆäËû¶ÁÕß·ÖÏíÄú¶Ô±¾ÎĵĿ´·¨¡ ......