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 ......
javaÖеÄÕýÔòλÓÚjava.util.regex°üÖУ¬Õâ¸ö°üÖÐÖ»ÓÐÒ»¸öMatchResult½Ó¿ÚºÍMatcher¡¢PatternÁ½¸öÀà¡£
ÕýÔòÖеÄÊýÁ¿´ÊÓÐGreedy (̰À·)¡¢Reluctant(ÀÁ¶è)ºÍPossessive(ǿռ)ÈýÖÖ
Greedy ÊýÁ¿´Ê
X?
X£¬Ò»´Î»òÒ»´ÎҲûÓÐ
X*
X£¬Áã´Î»ò¶à´Î
X+
X£¬Ò»´Î»ò¶à´Î
X{n ......
±¾Îijö×Ô “ÌÆ´óÀÏʦ” ²©¿Í£¬ÇëÎñ±Ø±£Áô´Ë³ö´¦http://tscjsj.blog.51cto.com/412451/84561
public class Bubble {
// ðÅÝÅÅÐòº¯Êý1
public static void bubbleSort1(Comparable []data){
int position,scan;
Comparable temp;
for(position = data.length-1;position>=0;position--){
......
ÓÉÓÚͬһ½ø³ÌµÄ¶à¸öÏ̹߳²ÏíͬһƬ´æ´¢¿Õ¼ä£¬ÔÚ´øÀ´·½±ãµÄͬʱ£¬Ò²´øÀ´ÁË·ÃÎʳåÍ»Õâ¸öÑÏÖØµÄÎÊÌâ¡£JavaÓïÑÔÌṩÁËרÃÅ»úÖÆÒÔ½â¾öÕâÖÖ³åÍ»£¬ÓÐЧ±ÜÃâÁËͬһ¸öÊý¾Ý¶ÔÏó±»¶à¸öÏß³Ìͬʱ·ÃÎÊ¡£
ÐèÒªÃ÷È·µÄ¼¸¸öÎÊÌ⣺
1)synchronized¹Ø¼ü×Ö¿ÉÒÔ×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£ ......
ÔÚjavaÖУ¬Ê¹ÓÃdouble½øÐÐÔËË㣬ÓÐʱ»á³öÏÖ¾«¶È¶ªÊ§µÄÎÊÌ⣬ֵ»áÓÐÄÇô0.00000***1Æ«²îµÄÆ«²î£¬µ¼ÖÂÆ¥ÅäУÑé³£³£³öÏÖÎÊÌâ
½â¾ö·½°¸ÈçÏÂ:
/**
* ¶ÔdoubleÊý¾Ý½øÐÐÈ¡¾«¶È.
* @param value doubleÊý¾Ý.
* ......