¶àÏ߳̿ª·¢µÄ½Ý¾¶£º¹¹½¨Java²¢·¢Ä£ÐÍ¿ò¼Ü
http://webservices.ctocio.com.cn/java/258/9422258_2.shtml
¡¡±¾ÎÄΧÈÆÒ»¸ö¼òµ¥µÄÀý×ÓÂÛÊöÁËÈçºÎ¹¹¼ÜÒ»¸öJava²¢·¢Ä£ÐÍ¿ò¼Ü£¬ÆäÖÐʹÓÃÁËһЩ¹¹½¨¿ò¼ÜµÄ³£Óü¼Êõ£¬Ï£Íû¶ÁÕßÄܹ»Éî¼ÓÁì»áÆäÔÀí£¬Ò²Ï£ÍûÄú¿ÉÒÔ¶Ô±¾ÎÄÖеĿò¼Ü½øÐÐÀ©³ä£¬Ö±½ÓÓ¦Óõ½×Ô¼ºµÄ¹¤×÷ÖС£
¡¡¡¡Java¶àÏß³ÌÌØÐÔΪ¹¹½¨¸ßÐÔÄܵÄÓ¦ÓÃÌṩÁ˼«´óµÄ·½±ã£¬µ«ÊÇÒ²´øÀ´Á˲»ÉÙµÄÂé·³¡£Ï̼߳äͬ²½¡¢Êý¾ÝÒ»ÖÂÐԵȷ³ËöµÄÎÊÌâÐèҪϸÐĵĿ¼ÂÇ£¬Ò»²»Ð¡Ðľͻá³öÏÖһЩ΢ÃîµÄ£¬ÄÑÒÔµ÷ÊԵĴíÎó¡£
¡¡¡¡ÁíÍ⣬ӦÓÃÂß¼ºÍÏß³ÌÂß¼¾À²øÔÚÒ»Æ𣬻ᵼÖ³ÌÐòµÄÂß¼½á¹¹»ìÂÒ£¬ÄÑÒÔ¸´ÓúÍά»¤¡£±¾ÎÄÊÔͼ¸ø³öÒ»¸ö½â¾öÕâ¸öÎÊÌâµÄ·½°¸£¬Í¨¹ý¹¹½¨Ò»¸ö²¢·¢Ä£ÐÍ¿ò¼Ü(framework)£¬Ê¹µÃ¿ª·¢¶àÏ̵߳ÄÓ¦ÓñäµÃÈÝÒס£
¡¡¡¡»ù´¡ÖªÊ¶
¡¡¡¡JavaÓïÑÔÌṩÁ˶ÔÓÚÏ̺߳ܺõÄÖ§³Ö£¬ÊµÏÖ·½·¨Ð¡ÇÉ¡¢ÓÅÑÅ¡£¶ÔÓÚ·½·¨ÖØÈëµÄ±£»¤£¬ÐźÅÁ¿(semaphore)ºÍÁÙ½çÇø(critical section)»úÖƵÄʵÏÖ¶¼·Ç³£¼ò½à¡£¿ÉÒÔºÜÈÝÒ×µÄʵÏÖ¶àÏ̼߳äµÄͬ²½²Ù×÷´Ó¶ø±£»¤¹Ø¼üÊý¾ÝµÄÒ»ÖÂÐÔ¡£ÕâЩÌصãʹµÃJava³ÉΪÃæÏò¶ÔÏóÓïÑÔÖжÔÓÚ¶àÏß³ÌÌØÐÔÖ§³Ö·½ÃæµÄٮٮÕß(C++ÕýÔÚÊÔͼ°Ñboost¿âÖеĶÔÓÚÏ̵߳ÄÖ§³Ö²¿·ÖÄÉÈëÓïÑÔ±ê×¼)¡£
¡¡¡¡JavaÖÐÄÚÖÃÁ˶ÔÓÚ¶ÔÏó²¢·¢·ÃÎʵÄÖ§³Ö£¬Ã¿Ò»¸ö¶ÔÏó¶¼ÓÐÒ»¸ö¼àÊÓÆ÷(monitor)£¬Í¬Ê±Ö»ÔÊÐíÒ»¸öÏ̳߳ÖÓмàÊÓÆ÷´Ó¶ø½øÐжԶÔÏóµÄ·ÃÎÊ£¬ÄÇЩûÓлñµÃ¼àÊÓÆ÷µÄÏ̱߳ØÐëµÈ´ýÖ±µ½³ÖÓмàÊÓÆ÷µÄÏß³ÌÊͷżàÊÓÆ÷¡£¶ÔÏóͨ¹ýsynchronized¹Ø¼ü×ÖÀ´ÉùÃ÷Ï̱߳ØÐë»ñµÃ¼àÊÓÆ÷²ÅÄܽøÐжÔ×Ô¼ºµÄ·ÃÎÊ¡£
¡¡¡¡synchronizedÉùÃ÷½ö½ö¶ÔÓÚһЩ½ÏΪ¼òµ¥µÄÏ̼߳äͬ²½ÎÊÌâ±È½ÏÓÐЧ£¬¶ÔÓÚÄÄЩ¸´ÔÓµÄͬ²½ÎÊÌ⣬±ÈÈç´øÓÐÌõ¼þµÄͬ²½ÎÊÌ⣬JavaÌṩÁËÁíÍâµÄ½â¾ö·½·¨£¬wait/notify/notifyAll¡£
¡¡¡¡»ñµÃ¶ÔÏó¼àÊÓÆ÷µÄÏ߳̿ÉÒÔͨ¹ýµ÷ÓøöÔÏóµÄwait·½·¨Ö÷¶¯ÊͷżàÊÓÆ÷£¬µÈ´ýÔڸöÔÏóµÄÏ̵߳ȴý¶ÓÁÐÉÏ£¬´ËʱÆäËûÏ߳̿ÉÒԵõ½¼àÊÓÆ÷´Ó¶ø·ÃÎʸöÔÏó£¬Ö®ºó¿ÉÒÔͨ¹ýµ÷ÓÃnotify/notifyAll·½·¨À´»½ÐÑÏÈÇ°Òòµ÷ÓÃwait·½·¨¶øµÈ´ýµÄÏ̡߳£
¡¡¡¡Ò»°ãÇé¿öÏ£¬¶ÔÓÚwait/notify/notifyAll·½·¨µÄµ÷Óö¼ÊǸù¾ÝÒ»¶¨µÄÌõ¼þÀ´½øÐеģ¬±ÈÈ磺¾µäµÄÉú²úÕß/Ïû·ÑÕßÎÊÌâÖжÔÓÚ¶ÓÁпա¢ÂúµÄÅжϡ£ÊìϤPOSIXµÄ¶ÁÕ߻ᷢÏÖ£¬Ê¹ÓÃwait/notify/notifyAll¿ÉÒÔºÜÈÝÒ×µÄʵÏÖPOSIXÖеÄÒ»¸öÏ̼߳äµÄ¸ß¼¶Í¬²½¼¼Êõ£ºÌõ¼þ±äÁ¿¡£
¡¡¡¡¼òµ¥Àý×Ó
¡¡¡¡±¾ÎĽ«Î§ÈÆÒ»¸ö¼òµ¥µÄÀý×ÓÕ¹¿ªÂÛÊö£¬ÕâÑù¿ÉÒÔ¸üÈÝÒ×Í»³öÎÒÃǽâ¾öÎÊÌâµÄ˼·¡¢·½·¨¡£±¾ÎÄÏëÏò¶ÁÕßÕ¹ÏÖµÄÕýÊÇÕâЩ˼·¡¢·½·¨¡£ÕâЩ˼·¡¢·½·¨¸ü¼ÓÊÊÓÃÓÚ½â¾ö´ó¹æÄ£
Ïà¹ØÎĵµ£º
ÏÈÀ´¿´¿´¿Í»§¶Î³ÌÐò±àдµÄÁ÷³Ì:
¡¡¡¡1¡¢ Ê×Ïȵ÷ÓÃSocketÀàµÄ¹¹Ô캯Êý£¬ÒÔ·þÎñÆ÷µÄÖ¸¶¨µÄIPµØÖ·»òÖ¸¶¨µÄÖ÷»úÃûºÍÖ¸¶¨µÄ¶Ë¿ÚºÅΪ²ÎÊý£¬´´½¨Ò»¸öSocketÁ÷£¬ÔÚ´´½¨SocketÁ÷µÄ¹ý³ÌÖаüº¬ÁËÏò·þÎñÆ÷ÇëÇó½¨Á¢Í¨Ñ¶Á¬½ÓµÄ¹ý³ÌʵÏÖ¡£
¡¡¡¡2¡¢ ½¨Á¢ÁË¿Í»§¶ËͨѶSocketºó¡£¾Í¿ÉÒÔʹÓÃSocketµÄ·½·¨getInputStream()ºÍgetOutputStream() ......
java¹¤³§Ä£Ê½µÄѧϰ£¬³õÆÚµÄʱºòÔÚÍøÉϲéÁ˺ܶàÀý×Ó£¬×Ô¼ºÊ¼ÖÕÖ»Äܹ¹½¨¼òµ¥¹¤³§£¬ºóÀ´ÖÕÓÚÕÒµ½ÁËÏÂÃæÕâ·ÝÎĵµ²Å¶Ô¹¤³§Ä£Ê½ÓÐÁËÒ»¸öÈ«ÃæµÄÀí½â£¬²¢ÇÒΪ´ËÎĵµµÄ³éÏ󹤳§ÌṩÁËʵÀý£º
JAVA¹¤³§Ä£Ê½
¿´ÁËÕâô¶à¹ØÓÚ¹¤³§Ä£Ê½µÄ½²½â£¬»¹ÊǾõµÃÕâƪÎÄÕ½²µÄºÃÀí½â£¬Ìù³öÀ´ºÍ´ó¼Ò·ÖÏí·ÖÏí¡£
Ò»¡¢Òý×Ó
  ......
ListµÄÓ÷¨
List°üÀ¨List½Ó¿ÚÒÔ¼°List½Ó¿ÚµÄËùÓÐʵÏÖÀà¡£ÒòΪList½Ó¿ÚʵÏÖÁËCollection½Ó¿Ú£¬ËùÒÔList½Ó¿ÚÓµÓÐCollection½Ó¿ÚÌṩµÄËùÓг£Ó÷½·¨£¬ÓÖÒòΪListÊÇÁбíÀàÐÍ£¬ËùÒÔList½Ó¿Ú»¹ÌṩÁËһЩÊʺÏÓÚ×ÔÉíµÄ³£Ó÷½·¨£¬Èç±í1Ëùʾ¡£
±í1 List½Ó¿Ú¶¨ÒåµÄ³£Ó÷½·¨¼°¹¦ÄÜ
´Ó±í1¿ÉÒÔ¿´³ö£¬List½Ó¿ÚÌṩµÄÊʺÏÓÚ×ÔÉíµÄ ......
Õ⼸ÌìÈÏÕæµÄ¿´ÁËÕâ±¾Ê飬ÒòΪÊÇÈ«Ó¢Îĵģ¬ËùÒÔ»¹ÊǸоõ°ÑÒ»±¾ºÃÊé¸øÔãÌ£ÁË¡£¡£¡£
ÏÖÔÚдЩ±Ê¼Ç¡£
£££££££££££££££££££££££££££
½éÉÜ£º
££££££££££££££££££££££££££££££££ ......
ÓÐÐí¶àÈËѧÁ˺ܳ¤Ê±¼äµÄJava£¬µ«Ò»Ö±²»Ã÷°×hashCode·½·¨µÄ×÷Óã¬
ÎÒÀ´½âÊÍһϰɡ£Ê×ÏÈ£¬ÏëÒªÃ÷°×hashCodeµÄ×÷Óã¬Äã±ØÐëÒªÏÈÖªµÀJavaÖеļ¯ºÏ¡£¡¡¡¡
×ܵÄÀ´Ëµ£¬JavaÖеļ¯ºÏ£¨Collection£©ÓÐÁ½À࣬һÀàÊÇList£¬ÔÙÓÐÒ»ÀàÊÇSet¡£
ÄãÖªµÀËüÃǵÄÇø±ðÂð£¿Ç°Õß¼¯ºÏÄÚµÄÔªËØÊÇÓÐÐòµÄ£¬ÔªËØ¿ÉÒÔÖظ´£»ºóÕßÔªËØÎÞÐò£¬µ«ÔªËز» ......