ÓÃ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()
Ïà¹ØÎĵµ£º
class User {
String name;
String age;
public User(String name,String age){
this.name=name;
this.age=age;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(St ......
ѧϰJavaµÄѧϰ˳Ðò
µÚÒ»½×¶Î(ËĸöÔÂ)
1.j2se
ÃæÏò¶ÔÏó£·â×°¡¢¼Ì³Ð¡¢¶à̬
ÄÚ´æµÄ·ÖÎö
µÝ¹é
¼¯ºÏÀà(Set,List,MapµÄ×ÓÀà)¡¢·ºÐÍ¡¢×Ô¶¯´ò°üÓë½â°ü¡¢Annotation
IOÁ÷(IOÁ÷ºÍÏ̱߳àдһ¸öQQÁÄÌì³ÌÐò)
¶àÏ̡߳¢Ïß³Ìͬ²½
TCP/UDP
AWT¡¢Ê¼þÄ£ÐÍ¡¢ÄäÃûÀà (ÄܲéѯÊý¾Ý¿âÏÔʾÔÚJtableÉÏÃæ)
ÕýÔò± ......
ÔËÓüÓÃܼ¼Êõ±£»¤JavaÔ´´úÂë
java
³ÌÐòµÄÔ´´úÂëºÜÈÝÒ×±»±ðÈË͵¿´¡£Ö»ÒªÓÐÒ»¸ö·´±àÒëÆ÷£¬ÈκÎÈ˶¼¿ÉÒÔ·ÖÎö±ðÈ˵ĴúÂë¡£±¾ÎÄÌÖÂÛÈçºÎÔÚ²»ÐÞ¸ÄÔÓгÌÐòµÄÇé
¿öÏ£¬Í¨¹ý
¼ÓÃÜ
¼¼Êõ±£»¤Ô´´ú
Âë¡£
¡¡¡¡Ò»¡¢ÎªÊ²Ã´Òª
¼ÓÃÜ
£¿
¡¡ ......
package¡¢import
µÄÏà¹ØÎÊÌâÊÇjavaÖеÄÒ»¸ö²»´ó²»Ð¡µÄÎÊÌ⣬µ«classpathÎÊÌâÈ´ÊÇjavaµÄÒ»¸öÖøÃûµÄÄÑÌâ¡£½ñÍíµÃÏÐÑо¿ÁËһϣ¬ÔÚÕâÀォÎÒµÄÑо¿³É¹û¸ú¸÷λ
ÅóÓÑ·ÖÏíһϡ£ÓÉÓÚͬ°üµÄÇé¿öºÜ¼òµ¥£¬ËùÒÔÕâÀï¾Í²»ÌÖÂÛͬ°üÇé¿ö£¬Ö»ÌÖÂÛ²»Í¬°üºÍ²»Í¬Â·¾¶µÄÇé¿ö¡£ÎªÁËÄÜÈöÁÕ߸üÈÝÒ×Àí½â£¬ÎÒÕâÀïÒÔ¾ÙÀýµÄ·½Ê½À´ËµÃ÷ÎÊ
Ìâ¡£
¡ ......