JAVA NIOѧϰ±Ê¼Ç »º³åÇøµÄÄÚ²¿Ï¸½Ú
»º³åÇøÄÚ²¿Ï¸½Ú
״̬±äÁ¿
״̬±äÁ¿ÊÇÇ°Ò»½ÚÖÐÌáµ½µÄ"ÄÚ²¿Í³¼Æ»úÖÆ"µÄ¹Ø¼ü¡£Ã¿Ò»¸ö¶Á/д²Ù×÷¶¼»á¸Ä±ä»º³åÇøµÄ״̬¡£Í¨¹ý¼Ç¼ºÍ¸ú×ÙÕâЩ±ä»¯£¬»º³åÇø¾ÍÄܹ»ÄÚ²¿µØ¹ÜÀí×Ô¼ºµÄ×ÊÔ´¡£
¿ÉÒÔÓÃÈý¸öÖµÖ¸¶¨»º³åÇøÔÚÈÎÒâʱ¿ÌµÄ״̬£º
position
limit
capacity
Position
»º³åÇøʵ¼ÊÉϾÍÊÇÃÀ»¯Á˵ÄÊý×é¡£ÔÚ´ÓͨµÀ¶Áȡʱ£¬Äú½«Ëù¶ÁÈ¡µÄÊý¾Ý·Åµ½µ×²ãµÄÊý×éÖС£ position±äÁ¿¸ú×ÙÒѾдÁ˶àÉÙÊý¾Ý¡£¸ü׼ȷµØ˵£¬ËüÖ¸¶¨ÁËÏÂÒ»¸ö×Ö½Ú½«·Åµ½Êý×éµÄÄÄÒ»¸öÔªËØÖС£Òò´Ë£¬Èç¹ûÄú´ÓͨµÀÖжÁÈý¸ö×Ö½Úµ½»º³åÇøÖУ¬ÄÇô»º³åÇøµÄposition½«»áÉèÖÃΪ3£¬Ö¸ÏòÊý×éÖеÚËĸöÔªËØ¡£
ͬÑù£¬ÔÚдÈëͨµÀʱ£¬ÄúÊÇ´Ó»º³åÇøÖлñÈ¡Êý¾Ý¡£positionÖµ¸ú×Ù´Ó»º³åÇøÖлñÈ¡Á˶àÉÙÊý¾Ý¡£¸ü׼ȷµØ˵£¬ËüÖ¸¶¨ÏÂÒ»¸ö×Ö½ÚÀ´×ÔÊý×éµÄÄÄÒ»¸öÔªËØ¡£Òò´ËÈç¹û´Ó»º³åÇøдÁË5¸ö×Ö½Úµ½Í¨µÀÖУ¬ÄÇô»º³åÇøµÄposition½«±»ÉèÖÃΪ5£¬Ö¸ÏòÊý×éµÄµÚÁù¸öÔªËØ¡£
Limit
limit±äÁ¿±íÃ÷»¹ÓжàÉÙÊý¾ÝÐèҪȡ³ö(ÔÚ´Ó»º³åÇøдÈëͨµÀʱ)£¬»òÕß»¹ÓжàÉÙ¿Õ¼ä¿ÉÒÔ·ÅÈëÊý¾Ý(ÔÚ´ÓͨµÀ¶ÁÈ뻺³åÇøʱ)¡£
Capacity
»º³åÇøµÄcapacity±íÃ÷¿ÉÒÔ´¢´æÔÚ»º³åÇøÖеÄ×î´óÊý¾ÝÈÝÁ¿¡£Êµ¼ÊÉÏ£¬ËüÖ¸¶¨Á˵ײãÊý×éµÄ´óС — »òÕßÖÁÉÙÊÇÖ¸¶¨ÁË×¼ÐíÎÒÃÇʹÓõĵײãÊý×éµÄÈÝÁ¿¡£
position×ÜÊÇСÓÚ»òÕßµÈÓÚlimit£¬limit ¾ö²»ÄÜ´óÓÚ capacity¡£
·ÃÎÊ·½·¨
ÓÉÓÚ»º³åÇø²¢²»µ¥µ¥ÊÇÓÃÀ´½«ÊäÈë¹ÜµÀÖеÄÊý¾Ý¿½±´ÖÁÊä³ö¹ÜµÀ£¬Í¬Ê±»¹»áÉæ¼°µ½Êý¾ÝµÄ·ÃÎʵȡ£ÈçºÎʹÓÃByteBufferÀàµÄget()ºÍput()·½·¨Ö±½Ó·ÃÎÊ»º³åÇøÖеÄÊý¾Ý£¿
ByteBuffer ÀàÖÐÓÐËĸö get() ·½·¨£º
byte get();
ByteBuffer get( byte dst[] );
ByteBuffer get( byte dst[], int offset, int length );
byte get( int index );
ByteBuffer ÀàÖÐÓÐÎå¸ö put() ·½·¨£º
ByteBuffer put( byte b );
ByteBuffer put( byte src[] );
ByteBuffer put( byte src[], int offset, int length );
ByteBuffer put( ByteBuffer src );
ByteBuffer put( int index, byte b );
ÏÂÃæµÄÄÚ²¿Ñ»·¸ÅÀ¨ÁËʹÓûº³åÇø½«Êý¾Ý´ÓÊäÈëͨµÀ¿½±´µ½Êä³öͨµÀµÄ¹ý³Ì¡£
while (true) {
buffer.clear();
int r = fcin.read( buffer );
if (r==-1) {
break;
}
buffer.flip();
fco
Ïà¹ØÎĵµ£º
Java ¶àÏ̱߳à³ÌÖ®ÆߣºËÀËø£¨¸½Ô´´úÂ룩
Ô´´úÂëÏÂÔØ
¶àÏ̱߳à³ÌÖУ¬Ïß³ÌËÀËøÒ²ÊÇÒ»¸ö±È½ÏÓÐȤµÄÎÊÌ⡣Ȼ¶øËÀËø·¢ÉúµÄ¿ÉÄÜÐÔºÜС£¬ÕýÒòÈç´Ë£¬´ó¼Ò¿ÉÄܶԴ˲»ÊǺÜÊìϤ¡£µ«ÊÇËÀËø²¢²»ÊDz»ÖØÒª£¬ÒòΪËüȷȷʵʵ´æÔÚ×Å£¬Ëæʱ»á³öÏÖÔÚÎÒÃǵijÌÐòÖ®ÖС£ºÜ¶àÅóÓÑÃæÊÔµÄʱºò¶¼Óöµ½¹ýÕâ ......
ÐòÁл¯µÄ¹ý³Ì¾ÍÊǽ«¶ÔÏóдÈë×Ö½ÚÁ÷ºÍ´Ó×Ö½ÚÁ÷ÖжÁÈ¡¶ÔÏó¡£½«¶ÔÏó״̬ת»»³É×Ö½ÚÁ÷Ö®ºó£¬¿ÉÒÔÓÃjava.io°üÖеĸ÷ÖÖ×Ö½ÚÁ÷ÀཫÆä±£´æµ½ÎļþÖУ¬¿ÉÒÔͨ¹ý¹ÜµÀ»òÏ̶߳ÁÈ¡£¬»òͨ¹ýÍøÂçÁ¬½Ó½«¶ÔÏóÊý¾Ý·¢Ë͵½ÁíÒ»Ö÷»ú¡£¶ÔÏóÐòÁл¯¹¦Äܷdz£¼òµ¥¡¢Ç¿´ó£¬ÔÚRMI¡¢Socket¡¢JMS¡¢EJB¶¼ÓÐÓ¦Ó᣶ÔÏóÐòÁл¯ÎÊÌâÔÚÍøÂç±à³ÌÖв¢²»ÊÇ×¶¯ÈË ......
»ù±¾Êý¾ÝÀàÐÍ
ÔÚJAVAÖÐÒ»¹²ÓаËÖÖ»ù±¾Êý¾ÝÀàÐÍ£¬ËûÃÇ·Ö±ðÊÇ
byte¡¢short¡¢int¡¢long¡¢float¡¢double¡¢char¡¢boolean
ÕûÐÍ
ÆäÖÐbyte¡¢short¡¢int¡¢long¶¼ÊDZíʾÕûÊýµÄ£¬Ö»²»¹ýËûÃǵÄÈ¡Öµ·¶Î§²»Ò»Ñù
byteµÄÈ¡Öµ·¶Î§Îª-128~127£¬Õ¼ÓÃ1¸ö×Ö½Ú£¨-2µÄ7´Î·½µ½2µÄ7´Î·½-1£©£º¾ßÌåÇë¿´²¹Âë
shortµÄÈ¡Öµ·¶Î§Îª-32768~32767£¬Õ¼Ó ......
javaÖеķâ×°
·â×°£¬Ò»¸ö¶ÔÏóºÍÍâ½çµÄÁªÏµÓ¦µ±Í¨¹ýÒ»¸öͳһµÄ½Ó¿Ú£¬Ó¦µ±¹«¿ªµÄ¹«¿ª£¬Ó¦µ±Òþ²ØµÄÒþ²Ø¡££¨¶ÔÏóµÄÊôÐÔÓ¦µ±Òþ²Ø£©£¬Ò»¸ö¶ÔÏóµÄÄÚ²¿ÊÇ͸Ã÷µÄ£¬¾ÍÊǰѶÔÏóÄÚ²¿µÄ¿É͸Ã÷ÐÔºÍÒþ²ØµÄÌØÐÔÇø·Ö¿ª£¬¸Ã͸Ã÷µÄ͸Ã÷£¬¸ÃÒþ²ØµÄÒþ²Ø¡£
£¨·â×°µÄÊôÐÔ£©javaÖÐÀàµÄÊôÐԵķÃÎÊȨÏÞ ......
1. JavaÖгýÁËstaticºÍfinal·½·¨Í⣬ÆäËûËùÓеķ½·¨¶¼ÊÇÔËÐÐʱ°ó¶¨µÄ¡£private·½·¨¶¼±»Òþʽָ¶¨ÎªfinalµÄ£¬Òò´ËfinalµÄ·½·¨²»»áÔÚÔËÐÐʱ°ó¶¨¡£µ±ÔÚÅÉÉúÀàÖÐÖØд»ùÀàÖÐstatic¡¢final¡¢»òprivate·½·¨Ê±£¬ÊµÖÊÉÏÊÇ´´½¨ÁËÒ»¸öеķ½·¨¡£
2.ÔÚÅÉÉúÀàÖУ¬¶ÔÓÚ»ùÀàÖеÄpr ......