Java NIO ѧϰ±Ê¼Ç ByteBuffer £¨ÔçÆÚ±Ê¼Ç£©
£¨²Î¿¼ “ibm nioÈëÃÅ”£©
ÔÚ NIO ¿âÖУ¬ËùÓÐÊý¾Ý¶¼ÊÇÓûº³åÇø´¦ÀíµÄ¡£ÔÚ¶ÁÈ¡Êý¾Ýʱ£¬ËüÊÇÖ±½Ó¶Áµ½»º³åÇøÖеġ£ÔÚдÈëÊý¾Ýʱ£¬ËüÊÇдÈëµ½»º³åÇøÖеġ£ÈκÎʱºò·ÃÎÊ NIO ÖеÄÊý¾Ý£¬¶¼Êǽ«Ëü·Åµ½»º³åÇøÖС£»º³åÇøÊµÖÊÉÏÊÇÒ»¸öÊý×顣ͨ³£ËüÊÇÒ»¸ö×Ö½ÚÊý×飬µ«ÊÇÒ²¿ÉÒÔʹÓÃÆäËûÖÖÀàµÄÊý×é¡£µ«ÊÇÒ»¸ö»º³åÇø²»½ö½öÊÇÒ»¸öÊý×é¡£»º³åÇøÌṩÁ˶ÔÊý¾ÝµÄ½á¹¹»¯·ÃÎÊ£¬¶øÇÒ»¹¿ÉÒÔ¸ú×ÙϵͳµÄ¶Á/д½ø³Ì¡£
bufferÆäʵֻÊÇÒ»¸öÃÀ»¯Á˵ÄÊý×é¡£
״̬±äÁ¿
¸ú×ÙÊý¾ÝµÄ״̬Çé¿öʹbuffer¿ÉÒÔ×Ô¼º¹ÜÀíÊý¾Ý×ÊÔ´
position: ÆäʵÊÇÖ¸´Óbuffer¶ÁÈ¡»òдÈëbufferµÄÏÂÒ»¸öÔªËØÎ»ÖᣱÈÈ磬ÒѾдÈëbuffer 3¸öÔªËØÄÇÄÇôposition¾ÍÊÇÖ¸ÏòµÚ4¸öλÖ㬼´positionÉèÖÃΪ3£¨Êý×é´Ó0¿ªÊ¼¼Æ£©¡£
limit£º»¹ÓжàÉÙÊý¾ÝÐèÒª´ÓbufferÖÐÈ¡³ö£¬»ò»¹ÓжàÉÙ¿Õ¼ä¿ÉÒÔ·ÅÈë¡£postition×ÜÊÇ<=limit¡£
capacity: ±íʾbuffer±¾Éíµ×²ãÊý×éµÄÈÝÁ¿¡£limit¾ø²»ÄÜ>capacity¡£
filp()£º×÷ÁËÁ½¼þÊÂÇ飺1.½«limitÖ¸ÏòÏÖÔÚpositionµÄλÖà 2.½«positionÉèÖÃΪ0 £¨limit=position;position=0£©
Õâ¸ö¹ý³Ì¿ÉÒÔʹ֮ǰbufferдÈëÊý¾Ýʱ¸Ä±äµÄ״̬±äΪ¿ÉÒÔ“×¼±¸¶ÁÈ¡”¡£ÒòΪ֮ǰдµ½bufferÖеÄÊý¾Ý¾ÍÊÇposition µ½ limit-1 Á½¸öλÖÃÖ®¼ä£¨limitÖ¸Ïò×îºóÒ»¸öÊý¾ÝµÄºóÒ»¸öλÖã©¡£
clear():
Ò²×÷ÁËÁ½¼þÊ£º1. limit=capacity 2.position=0
Õâ¸ö¹ý³Ì¿ÉÒÔʹbuffer¶ÁÈ¡Êý¾Ýʱ¸Ä±äµÄ״̬¸Ä±äΪ“Çå¿Õ²¢×¼±¸Ð´È딡£
·ÃÎÊ·½·¨
ÒÔ϶¼ÒÔbytebufferΪÀý
get():
ǰÈý¸öget·½·¨ÊÇÏà¶Ô¶ÁÈ¡¡£¾ÍÊÇÏà¶ÔÓÚλÖÃ״̬À´¶ÁÈ¡Êý¾Ý£¬²¢ÇÒ»á¸Ä±äpositionλÖÃ״̬¡£
byte get();
ByteBuffer get(byte dst[]);//¶ÁÈ¡bytebufferÖÐÊý¾ÝдÈë dst[]
ByteBuffer get(byte dst[],int offset, int length);
¸Ã¶ÁÈ¡Êý¾ÝÊǾø¶Ô¶ÁÈ¡£¨Ò»¸öbyte£©£¬¼´»áºöÂÔlimitºÍpositionÖµ¡£²¢ÍêÈ«ÈÆ¹ýÁË»º³åÇøµÄ״̬ͳ¼Æ·½·¨¡£
¾ÍÊÇ˵²»»á¸Ä±äbufferÄÚ²¿µÄλÖÃ״̬¡£
byte get(int index);
put();
ÓëgetÀàËÆ ǰËĸöput·½·¨ÊÇÏà¶Ô¶ÁÈ¡¡£¼´ÊÜposition ÒÔ¼°limitÓ°Ï죬²¢ÇÒ»á¸Ä±ä position¡£
ByteBuffer put( byte b );
ByteB
Ïà¹ØÎĵµ£º
http://www.ibm.com/developerworks/cn/java/j-lo-uidsl/index.html
»ùÓÚ Java µÄ½çÃæ²¼¾Ö DSL µÄÉè¼ÆÓëʵÏÖ
¼¶±ð£º Öм¶
Ëï Ãù
µË »Ô
2007 Äê 9 ÔÂ 11 ÈÕ
½çÃæÉè¼ÆÓ¦¸ÃÊÇÒ»Ïî³äÂú´´ÔìÐÔ¡¢¸»ÓÐÀÖȤµÄ¹¤×÷£¬µ«ÊÇÈ´ÍùÍù±»ÈÏΪ·Ç³£µÄ¿ÝÔïºÍ·±Ëö¡£¾¿ÆäÔÒò£¬ÊÇÒòΪ½çÃæ²¼¾ÖÁìÓòËù²ÉÓõÄÃè ......
ʹÓÃRuntime.getRuntime().exec()·½·¨¿ÉÒÔÔÚjava³ÌÐòÀïÔËÐÐÍⲿ³ÌÐò¡£
1. exec(String command)
2. exec(String command, String envp[], File dir)
3. exec(String cmd, String envp[])
4. exec(String cmdarray[])
5. exec(String cmdarray[], String envp[])
6. exec(S ......
ÔÎÄÒý×Ôhttp://hi.baidu.com/heyinjie/blog/item/608ee7108f1f4802203f2e35.html
´ò¸ö±È·½£ºÒ»¸öobject¾ÍÏñÒ»¸ö´ó·¿×Ó£¬´óÃÅÓÀÔ¶´ò¿ª¡£·¿×ÓÀïÓкܶ෿¼ä£¨Ò²¾ÍÊÇ·½·¨£©¡£ÕâЩ·¿¼äÓÐÉÏËøµÄ£¨synchronized·½·¨£©£¬ ºÍ²»ÉÏËøÖ®·Ö£¨ÆÕͨ·½·¨£©¡£·¿ÃſڷÅ×ÅÒ»°ÑÔ¿³×£¨key£©£¬Õâ°ÑÔ¿³×¿ÉÒÔ´ò¿ªËùÓÐÉÏËøµÄ·¿¼ä¡£ÁíÍâÎÒ°ÑËùÓÐÏë ......
ÃæÊÔʱºò¾³£»áÅöµ½µÄÒ»¸öÎÊÌ⣬¸øÄãÁ½¸ö¼Ì³Ð¹ØÏµµÄjavaÀàµÄ´úÂ룬ÕâÁ½¸öÀàÖÐÓй¹Ôì·½·¨ºÍһЩ±äÁ¿£¬È»ºó»¹ÓÐһЩ·½·¨£¬·½·¨Àïͨ³£Óн«±äÁ¿Êä³öµÄÓï¾ä¡£ÕâÀàÎÊÌâÖ÷Òª¿¼²ìÎÒÃǶԸ¸Àà×ÓÀà³õʼ»¯Ë³ÐòµÄÁ˽âÇé¿ö¡£
ÕâÀïÎÒÃÇÖ÷ÒªÌÖÂÛϾ²Ì¬³õʼ»¯¿éÕâÖÖÇé¿ö¡£
......
7£®1 Swing¼ò½é
7.1.1 ¼ò½é
¡¡¡¡µÚÎå½²ÖÐÎÒÃÇѧϰÁËAWT£¬AWTÊÇSwingµÄ»ù´¡¡£SwingµÄ²úÉúÖ÷ÒªÔÒò¾ÍÊÇAWT²»ÄÜÂú×ãͼÐλ¯Óû§½çÃæ·¢Õ¹µÄÐèÒª¡£
AWTÉè¼ÆµÄ³õÖÔÊÇÖ§³Ö¿ª·¢Ð¡Ó¦ÓóÌÐòµÄ¼òµ¥Óû§½çÃæ¡£ÀýÈçAWTȱÉÙ¼ôÌù°å¡¢´òÓ¡Ö§³Ö¡¢¼üÅ̵¼º½µÈÌØÐÔ£¬¶øÇÒÔÀ´µÄAWTÉõÖÁ²»°üÀ¨µ¯³öʽ²Ëµ¥»ò¹ö¶¯´°¸ñµÈ»ù±¾ÔªËØ¡£
¡¡¡¡´ËÍâAWT»¹´ ......