Java NIOÀà¿âSelector»úÖÆ½âÎö£¨ÉÏ£©
Java NIOÀà¿âSelector»úÖÆ½âÎö£¨ÉÏ£©
ÕÔï¿¡¡¡¡ ³Âð©
http://blog.csdn.net/haoel
Ò»¡¢ ǰÑÔ
×Ô´ÓJ2SE 1.4°æ±¾ÒÔÀ´£¬JDK·¢²¼ÁËȫеÄI/OÀà¿â£¬¼ò³ÆNIO£¬Æä²»µ«ÒýÈëÁËȫеĸßЧµÄI/O»úÖÆ£¬Í¬Ê±£¬Ò²ÒýÈëÁ˶à·¸´ÓõÄÒ첽ģʽ¡£NIOµÄ°üÖÐÖ÷Òª°üº¬ÁËÕâÑù¼¸ÖÖ³éÏóÊý¾ÝÀàÐÍ£º
Buffer£º°üº¬Êý¾ÝÇÒÓÃÓÚ¶ÁдµÄÏßÐαí½á¹¹¡£ÆäÖл¹ÌṩÁËÒ»¸öÌØÊâÀàÓÃÓÚÄÚ´æÓ³ÉäÎļþµÄI/O²Ù×÷¡£
Charset£ºËüÌṩUnicode×Ö·û´®Ó°Éäµ½×Ö½ÚÐòÁÐÒÔ¼°ÄæÓ³ÉäµÄ²Ù×÷¡£
Channels£º°üº¬socket£¬fileºÍpipeÈýÖֹܵÀ£¬¶¼ÊÇȫ˫¹¤µÄͨµÀ¡£
Selector£º¶à¸öÒì²½I/O²Ù×÷¼¯Öе½Ò»¸ö»ò¶à¸öÏß³ÌÖУ¨¿ÉÒÔ±»¿´³ÉÊÇUnixÖÐselect()º¯ÊýµÄÃæÏò¶ÔÏó°æ±¾£©¡£
ÎҵĴóѧͬѧÕÔï¿ÔÚʹÓÃNIOÀà¿âÊéдÏà¹ØÍøÂç³ÌÐòµÄʱºò£¬·¢ÏÖÁËһЩJavaÒì³£RuntimeException£¬Òì³£µÄ±¨´íÐÅÏ¢ÈÃËû¿ªÊ¼Á˶ÔNIOµÄSelector½øÐÐÁËһЩµ÷²é¡£µ±ÕÔï¿¶ÔÎÒ¹²ÏíÁËSelectorµÄһЩµ×²ã»úÖÆµÄ²ÂÏëºÍµ÷²éʱºò£¬ÎÒÃǾõµÃÕâÊÇÒ»¼þºÜÓÐÒâ˼µÄÊÂÇ飬ÓÚÊÇÔÚ»ïͬÕÔ�øÐйýһϵÁеĵ÷²éºó£¬ÎÒÁ©·¢ÏÖÁ˺ܶàÓÐȤµÄÊÂÇ飬ÓÚÊǵ¼ÖÂÁËÕâÆªÎÄÕµIJúÉú¡£ÕâÒ²ÊÇΪʲô±¾ÎĵÄ×÷ÕßÊðÃûΪÎÒÃÇÁ½È˵ÄÔÒò¡£
ÏÈҪ˵Ã÷µÄÒ»µãÊÇ£¬ÕÔÍÎÒ±¾ÖÊÉ϶¼ÊdzöÉíÓÚUnix/Linux/C/C++µÄ¿ª·¢ÈËÔ±£¬¶ÔÓÚJava£¬Õâ²¢²»ÊÇÎÒÃǵij¤´¦£¬ÕâÆªÎÄÕ±¾ÖÊÉϳöÓÚ¶ÔJavaµÄSelectorµÄºÃÆæ£¬ÒòΪ´Ó±íÃæÉÏÀ´¿´SelectorËÆºõ×öµ½ÁËһЩÈÃÎÒÃÇÕâЩC/C++³öÉíµÄÈ˱ȽϾªÆæµÄÊÂÇé¡£
ÏÂÃæÈÃÎÒÀ´ÎªÄã½²ÊöÒ»ÏÂÕâ¶Î¹ÊÊ¡£
¶þ¡¢ ¹ÊÊ¿ªÊ¼ : ÈÃC++³ÌÐòԱдJava³ÌÐò!
ûÓÐÑÏÖØÄÚ´æÎÊÌ⣬´óÁ¿·á¸»µÄSDKÀà¿â£¬³¬ÈÝÒ×µÄ¿çÆ½Ì¨£¬³ýÁËÔÚÐÔÄÜÉÏÓÐЩ΢´Ç£¬C++³öÉíµÄ³ÌÐòÔ±´ÓÀ´¶¼²»»á¾õµÃJavaÊÇÒ»¼þºÜÀ§ÄѵÄÊÂÇé¡£µ±È»£¬¶ÔÓÚ³¤ÆÚϰ¹ßÓÚʹÓòÙ×÷ϵͳAPI£¨ÏµÍ³µ÷ÓÃSystem Call£©µÄC/C++³ÌÐòÀ´Ëµ£¬Ãæ¶ÔJavaÖеıȽϓÁíÀà”µØ²Ù×÷ϵͳ×ÊÔ´µÄ·½·¨¿ÉÄÜ»áÂÔ¸ÐÀ§»ó£¬µ«Íò±ä²»ÀëÆä×Ú£¬Ö»ÐèÒª¶ÔÃæÏò¶ÔÏóµÄÉè¼ÆÄ£Ê½ÓÐÒ»¶¨µÄÁ˽⣬Óò»Á˶೤ʱ¼ä£¬JavaµÄSDKÀà¿âÒ²ÄÜÍæµÃËæÐÄËùÓû¡£
ÔÚʹÓÃJava½øÐÐÏà¹ØÍøÂç³ÌÐòµÄµÄÉè¼ÆÊ±£¬³öÉíC/C++µÄÈË£¬Ê×ÏÈÏëµ½µÄ¿ò¼Ü¾ÍÊǶà·¸´Óã¬Ïëµ½¶à·¸´Óã¬Unix/LinuxÏÂÂíÉϾÍÄÜÈôÓÏëµ½select, poll, epollϵͳµ÷Óá£ÓÚÊÇ£¬ÔÚ¿´µ½JavaµÄNIOÖеÄSelectorÀàʱ±ØÈ»»á±¶¸ÐÇ×ÇС£ÉÔ¼Ó²éÔÄÒ»ÏÂSDKÊÖ²áÒÔ¼°Ïà¹ØÀý³Ì£¬²»Ò»»á¶ù£¬Ò»¸ö¶à·¸´ÓõĿò¼Ü±ã³ÊÏÖ
Ïà¹ØÎĵµ£º
ת £º http://www.jcourse.cn/read/234
2009-03-02 ×÷Õß:
zhangtaolv
ÔÚÎÒÃÇÈÕ³£¿ª·¢ÖУ¬¾³£»áÓöµ½¶ÔÎı¾µÄ²Ù×÷£¬²¢ÇÒÔÚÒ»°ãµÄMISϵͳÖУ¬Îı¾²Ù×÷ÓÈΪ¶à£¬ÈçÓû§Ãû¡¢ÎÄÕÂÄÚÈÝ¡¢ÎÄÕ±êÌâ¡¢ºÏͬÄÚÈݵȡ£ÔÚ֮ǰµÄ½Ì³ÌÖУ¬ÎÒÒ²¸ø´ó¼Ò½²½âÁËJavaÖÐ×î»ù±¾µÄ×Ö·û´®²Ù×÷µÄÀ࣬String¡£ÔÚ֮ǰµÄ½Ì³ÌÖÐÎÒÒ²¸ø´ó¼Ò½²ÁËStr ......
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class j5_13 extends Applet implements ActionListener
{
Panel p=new Panel();//н¨²¼¾Ö
Label welcome,la1,li1,la2,li2,lresult;//Ìáʾ±êÇ©,·ûºÅ±êÇ©ÒÔ¼°¼ÆËã½á¹ûµÄ±êÇ©
TextField ta,tb,t ......
GOF£ºÔËÓù²Ïí¼¼ÊõÓÐЧµØÖ§³Ö´óÁ¿Ï¸Á£¶ÈµÄ¶ÔÏó¡£
½âÊÍһϸÅÄҲ¾ÍÊÇ˵ÔÚÒ»¸öϵͳÖÐÈç¹ûÓжà¸öÏàͬµÄ¶ÔÏó£¬ÄÇôֻ¹²ÏíÒ»·Ý¾Í¿ÉÒÔ
ÁË£¬²»±ØÃ¿¸ö¶¼È¥ÊµÀý»¯Ò»¸ö¶ÔÏó¡£±ÈÈç˵£¨ÕâÀïÒýÓÃGOFÊéÖеÄÀý×Ó£©Ò»¸öÎı¾ÏµÍ³£¬Ã¿¸ö×Öĸ¶¨Ò»¸ö¶ÔÏó£¬ÄÇô´óСд×Öĸһ¹²¾ÍÊÇ52¸ö£¬ÄÇô¾ÍÒª¶¨Òå
52¸ö¶ÔÏó¡£Èç¹ûÓÐÒ»¸ö1MµÄÎ ......
Ê×ÏÈ¿´Çå³þ¼¸ÖÖ³£ÓõÄ×Ö·û¼¯±àÂë(javaÓïÑÔÊDzÉÓÃunicode×Ö·û¼¯±àÂëÀ´±íʾ×Ö·ûÓë×Ö·û´®µÄ)£º
¡¡¡¡ASCII(American Standard Code for Information Interchange£¬ÃÀ¹úÐÅÏ¢»¥»»±ê×¼´úÂë)£¬ÊÇ»ùÓÚ³£ÓõÄÓ¢ÎÄ×Ö·ûµÄÒ»Ì×µçÄÔ±àÂëϵͳ¡£ÎÒÃÇÖªµÀÓ¢ÎÄÖо³£Ê¹ÓõÄ×Ö·û¡¢Êý×Ö·ûºÅ±»¼ÆËã»ú´¦Àíʱ¶¼ÊÇÒÔ¶þ½øÖÆÂëµÄÐÎʽ³öÏֵġ£ÕâÖÖ¶þ½ø ......
¡¾51CTO¾«Ñ¡ÒëÎÄ¡¿ÔÚ±¾ÆªÎÄÕÂÖУ¬ÖøÃû³ÌÐòÔ±Justin JamesÌÖÂÛÁËJavaµÄδÀ´£¬ÒÔ¼°JavaÓë.NETµÄ¿ª·¢³É±¾¶Ô±È£¬ºÍJavaÊÇ·ñÄܹ»È¡´ú.NET¡£JustinÔÚÎÄÖÐ×ܽáÁËËÄ´óÒªµã£¬ÖØµã¹Ø×¢ÁËÁ½¸öÔËÐÐʱÔÚÐÔÄܺͳɱ¾ÉϵÄÒì֮ͬ´¦¡£
1¡¢Java SE 7ÔâÓö.NET CLR»á·¢Éúʲô£¿
´ÓJava SE 7µÄ¹¦ÄÜÁбíÖпÉÒÔ¿´³ö£¬ËüÏà±ÈÒÔǰ°æ±¾ÓÐÁ˳¤×ãÌá¸ß¡£ ......