ÓÃJavaʵÏÖ·Ç×èÈûͨÐÅ
ÓÃServerSocketºÍSocketÀ´±àд·þÎñÆ÷³ÌÐòºÍ¿Í»§³ÌÐò£¬ÊÇJavaÍøÂç±à³ÌµÄ×î»ù±¾µÄ·½Ê½¡£ÕâЩ·þÎñÆ÷³ÌÐò»ò¿Í»§³ÌÐòÔÚÔËÐйý³ÌÖг£³£»á×èÈû¡£ÀýÈçµ±Ò»¸öÏß³ÌÖ´ÐÐServerSocketµÄaccept()·½·¨Ê±£¬¼ÙÈçûÓпͻ§Á¬½Ó£¬¸ÃÏ߳̾ͻáÒ»Ö±µÈµ½ÓÐÁ˿ͻ§Á¬½Ó²Å´Óaccept()·½·¨·µ»Ø¡£ÔÙÀýÈçµ±Ïß³ÌÖ´ÐÐSocketµÄread()·½·¨Ê±£¬Èç¹ûÊäÈëÁ÷ÖÐûÓÐÊý¾Ý£¬¸ÃÏ߳̾ͻáÒ»Ö±µÈµ½¶ÁÈëÁË×ã¹»µÄÊý¾Ý²Å´Óread()·½·¨·µ»Ø¡£
¼ÙÈç·þÎñÆ÷³ÌÐòÐèҪͬʱÓë¶à¸ö¿Í»§Í¨ÐÅ£¬¾Í±ØÐë·ÖÅä¶à¸ö¹¤×÷Ị̈߳¬ÈÃËüÃÇ·Ö±ð¸ºÔðÓëÒ»¸ö¿Í»§Í¨ÐÅ£¬µ±È»Ã¿¸ö¹¤×÷Ï̶߳¼ÓпÉÄܾ³£´¦ÓÚ³¤Ê±¼äµÄ×èÈû״̬¡£
´ÓJDK1.4°æ±¾¿ªÊ¼£¬ÒýÈëÁË·Ç×èÈûµÄͨÐÅ»úÖÆ¡£·þÎñÆ÷³ÌÐò½ÓÊÕ¿Í»§Á¬½Ó¡¢¿Í»§³ÌÐò½¨Á¢Óë·þÎñÆ÷µÄÁ¬½Ó£¬ÒÔ¼°·þÎñÆ÷³ÌÐòºÍ¿Í»§³ÌÐòÊÕ·¢Êý¾ÝµÄ²Ù×÷¶¼¿ÉÒÔ°´·Ç×èÈûµÄ·½Ê½½øÐС£·þÎñÆ÷³ÌÐòÖ»ÐèÒª´´½¨Ò»¸öỊ̈߳¬¾ÍÄÜÍê³ÉͬʱÓë¶à¸ö¿Í»§Í¨ÐŵÄÈÎÎñ¡£
·Ç×èÈûµÄͨÐÅ»úÖÆÖ÷ÒªÓÉjava.nio°ü£¨ÐÂI/O°ü£©ÖеÄÀàʵÏÖ£¬Ö÷ÒªµÄÀà°üÀ¨ServerSocketChannel¡¢SocketChannel¡¢Selector¡¢SelectionKeyºÍByteBufferµÈ¡£
Ò»¡¢Ïß³Ì×èÈû
ÔÚÉú»îÖУ¬×î³£¼ûµÄ×èÈûÏÖÏóÊǹ«Â·ÉÏÆû³µµÄ¶ÂÈû¡£Æû³µÔÚ¹«Â·ÉÏ¿ìËÙÔËÐУ¬Èç¹ûǰ·½½»Í¨ÊÜ×裬¾ÍÖ»ºÃÍ£ÏÂÀ´µÈ´ý£¬µÈµ½¹«Â·Ë³³©£¬²ÅÄָܻ´ÔËÐС£
Ïß³ÌÔÚÔËÐÐÖÐÒ²»áÒòΪijЩÔÒò¶ø×èÈû¡£ËùÓд¦ÓÚ×èÈû״̬µÄÏ̵߳Ĺ²Í¬ÌØÕ÷ÊÇ£º·ÅÆúCPU£¬ÔÝÍ£ÔËÐУ¬Ö»Óеȵ½µ¼ÖÂ×èÈûµÄÔÒòÏû³ý£¬²ÅÄָܻ´ÔËÐУ»»òÕß±»ÆäËûÏß³ÌÖжϣ¬¸ÃÏ̻߳áÍ˳ö×èÈû״̬£¬²¢ÇÒÅ׳öInterruptedException¡£
1£®Ïß³Ì×èÈûµÄÔÒò
µ¼ÖÂÏß³Ì×èÈûµÄÔÒòÖ÷ÒªÓÐÒÔÏ·½Ã棺
Ïß³ÌÖ´ÐÐÁËThread.sleep(int n)·½·¨£¬Ïß³Ì·ÅÆúCPU£¬Ë¯ÃßnºÁÃ룬Ȼºó»Ö¸´ÔËÐС£
Ïß³ÌÒªÖ´ÐÐÒ»¶Îͬ²½´úÂ룬ÓÉÓÚÎÞ·¨»ñµÃÏà¹ØµÄͬ²½Ëø£¬Ö»ºÃ½øÈë×èÈû״̬£¬µÈµ½»ñµÃÁËͬ²½Ëø£¬²ÅÄָܻ´ÔËÐС£
Ïß³ÌÖ´ÐÐÁËÒ»¸ö¶ÔÏóµÄwait()·½·¨£¬½øÈë×èÈû״̬£¬Ö»Óеȵ½ÆäËûÏß³ÌÖ´ÐÐÁ˸öÔÏóµÄnotify()»ònotifyAll()·½·¨£¬²Å¿ÉÄܽ«Æä»½ÐÑ¡£
Ïß³ÌÖ´ÐÐI/O²Ù×÷»ò½øÐÐÔ¶³ÌͨÐÅʱ£¬»áÒòΪµÈ´ýÏà¹ØµÄ×ÊÔ´¶ø½øÈë×èÈû״̬¡£ÀýÈçµ±Ïß³ÌÖ´ÐÐSystem.in.read()·½·¨Ê±£¬Èç¹ûÓû§Ã»ÓÐÏò¿ØÖÆÌ¨ÊäÈëÊý¾Ý£¬Ôò¸ÃÏ̻߳áÒ»Ö±µÈ¶Áµ½ÁËÓû§µÄÊäÈëÊý¾Ý²Å´Óread()·½·¨·µ»Ø¡£
½øÐÐÔ¶³ÌͨÐÅʱ£¬ÔÚ¿Í»§³ÌÐòÖУ¬Ïß³ÌÔÚÒÔÏÂÇé¿ö¿ÉÄܽøÈë×èÈû״̬£º
ÇëÇóÓë·þÎñÆ÷½¨Á¢Á¬½Óʱ£¬¼´µ±Ïß³ÌÖ´ÐÐSocketµÄ´ø²ÎÊýµÄ¹¹Ôì·½·¨£¬»òÖ´ÐÐSocketµÄconnect()·½·¨Ê±£¬»á½øÈë×èÈû״̬£¬Ö±µ½Á¬½Ó³É¹¦£¬´ËÏ̲߳ŴÓSocketµÄ¹¹Ôì·½·¨»òconnect()
Ïà¹ØÎĵµ£º
×î½ü¹«Ë¾Åöµ½ÐèÒªÓÃͼ±íµÄÐÎʽÏÔʾһЩÊý¾Ý£¬ÎҾͿªÊ¼µ½ÍøÉϲéѯ£¬²éµ½ÁËjfreechartºÍamcharts,ÕâÁ½ÕßÎÒ¶¼ÊµÏÖ¹ýÁË£¬jfreechart×îºóÉú³ÉͼƬ£¬µ«ÊÇͼƬЧ¹û²»ÊÇÎÒÏëÒªµÄ£¬È»ºóÓÖÑо¿amcharts ËüµÄЧ¹ûȷʵºÜºÃ£¬¶øÇÒ¹Ù·½ÍøÕ¾ÉÏ»¹ÓкÃЩÀý×ӿɹ©ÏÂÔØ£¬ÍøÖ·ÊÇ:www.amcharts.com
£¨ÏëÒªÍê³ÉÒ»¸öamchartsͼÐÎÐèÒªswfobjects. ......
×î½üÒ»¶Îʱ¼ä¶Ôjava¸ÐÉÏÁËÐËȤ£¬ÒòΪ½èÁËÒ»±¾¡¶Thinking in java¡·£¬Ò»Ö±Ã»Ê±¼ä¿´£¬¿ìµ½»¹ÊéµÄʱºòÁË£¬Êé×ܲ»Äܰ׽è°É¡£¿´ÁËÁ½Ì죬´ó¸ÅÊÇɨÁË100¶àÒ³°É¡£×¼±¸±àдµÚÒ»¸öjava³ÌÐò¡£
´ÓÍøÉϲé×ÊÁÏ£¬ÐèÒªJDK£¬ÓÚÊÇÏÂÔØ£¬°²×°¡£¾ßÌåÉèÖÃÈçÏ£º
µÚ ......
×òÌì˯µÃÌ«Íí£¬ÑÏÖØÓ°ÏìÁ˽ñÌìµÄѧϰ£¬ÊµÔÚÊǵò»³¥Ê§£¡
¹ØÓÚjavaµÄ»ù´¡ÖªÊ¶»¹ÓжþÊ®Ìì¾ÍÒª½áÊøÁË£¬ÏÖÔÚÎÒÃÇÒѾ¿ªÊ¼×öһЩСµÄÁ·Ï°£¬·¢ÏÖ×Ô¼ºµÄ˼·ÓÐʱºò¸ú²»ÉÏ£¬
ÕæÉÏ»ð£¡
ѧ¶øÊµÏ°Ö®£¬²»ÄܶªÁËÎ÷¹Ï¼ñÖ¥Â飬ÉÏ¿ÎÒª½ô¸úÀÏʦ½Ú×࣬²»ÄÜ×Ô¼º×ö×Ô¼ºµÄ£¬ÀÏʦ½²ÀÏʦµÄ£¡
µ÷ÕûÐÄ̬£¬ÓúõÄѧϰ·½·¨·½ÄÜʰ빦±¶£»
JDBC£¨Ja ......
package¡¢import
µÄÏà¹ØÎÊÌâÊÇjavaÖеÄÒ»¸ö²»´ó²»Ð¡µÄÎÊÌ⣬µ«classpathÎÊÌâÈ´ÊÇjavaµÄÒ»¸öÖøÃûµÄÄÑÌâ¡£½ñÍíµÃÏÐÑо¿ÁËһϣ¬ÔÚÕâÀォÎÒµÄÑо¿³É¹û¸ú¸÷λ
ÅóÓÑ·ÖÏíһϡ£ÓÉÓÚͬ°üµÄÇé¿öºÜ¼òµ¥£¬ËùÒÔÕâÀï¾Í²»ÌÖÂÛͬ°üÇé¿ö£¬Ö»ÌÖÂÛ²»Í¬°üºÍ²»Í¬Â·¾¶µÄÇé¿ö¡£ÎªÁËÄÜÈöÁÕ߸üÈÝÒ×Àí½â£¬ÎÒÕâÀïÒÔ¾ÙÀýµÄ·½Ê½À´ËµÃ÷ÎÊ
Ìâ¡£
¡ ......
¿ª·¢µÄʱºòÓÐʱºò»áÅöµ½ÕâÑùµÄÇé¿ö£¬ÎÒÃÇÔÚд³ÌÐòµÄʱºò²¢²»ÖªµÀÐèÒªµ÷ÓÃij¸ö¶ÔÏóµÄÄĸö·½·¨£¬Ö»ÓгÌÐòÔËÐкó£¬ÎÒÃDzÅÄܹ»ÖªµÀ¡£»òÐíÎÒÃÇÐèÒª¸ù¾Ý¿Í»§¶Ë´«¹ýÀ´µÄij¸öString²ÎÊýµÄÖµÀ´ÅжÏÎÒÃÇÓ¦¸ÃÖ´ÐÐÄĸö·½·¨¡£ÔÚÕâÖÖÇé¿öÏÂJAVAµÄ·´ÉäÖ´ÐоͿÉÒÔ°ïÉÏæÁË¡£ÏÂÃæÊÇÎÒ×öµÄÒ»¸ö¼òµ¥µÄ²âÊÔ´úÂ룬Ìṩ¸ø´ó¼Ò×ö¸ö²Î¿¼¡£
i ......