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Öеķâ×°
·â×°£¬Ò»¸ö¶ÔÏóºÍÍâ½çµÄÁªÏµÓ¦µ±Í¨¹ýÒ»¸öͳһµÄ½Ó¿Ú£¬Ó¦µ±¹«¿ªµÄ¹«¿ª£¬Ó¦µ±Òþ²ØµÄÒþ²Ø¡££¨¶ÔÏóµÄÊôÐÔÓ¦µ±Òþ²Ø£©£¬Ò»¸ö¶ÔÏóµÄÄÚ²¿ÊÇ͸Ã÷µÄ£¬¾ÍÊǰѶÔÏóÄÚ²¿µÄ¿É͸Ã÷ÐÔºÍÒþ²ØµÄÌØÐÔÇø·Ö¿ª£¬¸Ã͸Ã÷µÄ͸Ã÷£¬¸ÃÒþ²ØµÄÒþ²Ø¡£
£¨·â×°µÄÊôÐÔ£©javaÖÐÀàµÄÊôÐԵķÃÎÊȨÏÞ ......
1. JavaÖгýÁËstaticºÍfinal·½·¨Í⣬ÆäËûËùÓеķ½·¨¶¼ÊÇÔËÐÐʱ°ó¶¨µÄ¡£private·½·¨¶¼±»Òþʽָ¶¨ÎªfinalµÄ£¬Òò´ËfinalµÄ·½·¨²»»áÔÚÔËÐÐʱ°ó¶¨¡£µ±ÔÚÅÉÉúÀàÖÐÖØÐ´»ùÀàÖÐstatic¡¢final¡¢»òprivate·½·¨Ê±£¬ÊµÖÊÉÏÊÇ´´½¨ÁËÒ»¸öÐµķ½·¨¡£
2.ÔÚÅÉÉúÀàÖУ¬¶ÔÓÚ»ùÀàÖеÄpr ......
×î½ü£¬¶Ô²¿ÃŵÄjava±àÂë¹æ·¶½øÐÐÁËÕû¶Ù£¬Ð´Á˱¾Îĵµ¹©´ó¼Ò²Î¿¼£¬ÇëÖ¸Õý¡£
1. ÎªÊ²Ã´ÒªÖÆ¶©±àÂë¹æ·¶
ºÃµÄ´úÂë·ç¸ñ²»½öÄÜÌá¸ß¿É¶ÁÐÔ£¬¶øÇÒ»áʹ´úÂë¸ü½¡×³£¬¸üÎªÖØÒªµÄÊÇÔÚÐÞ¸Äʱ²»ÈÝÒ׳ö´í¡£ÔÚÏÖ´úÈí¼þ¿ª·¢ÖУ¬Î¬»¤¹¤×÷»áÕ¼ÓÃ80%µÄʱ¼ä£¬¶øÇÒ¿ª·¢ÕߺÍά»¤ÕßÍ ......
1. ¿Õ°×(White Space)
7.1 ¿ÕÐÐ(Blank Lines)
¿ÕÐн«Âß¼Ïà¹ØµÄ´úÂë¶Î·Ö¸ô¿ª£¬ÒÔÌá¸ß¿É¶ÁÐÔ¡£ÏÂÁÐÇé¿öÓ¦¸Ã×ÜÊÇʹÓÃÁ½¸ö¿ÕÐУº
·Ò»¸öÔ´ÎļþµÄÁ½¸öƬ¶Î(section)Ö®¼ä
·ÀàÉùÃ÷ºÍ½Ó¿ÚÉùÃ÷Ö®¼ä
ÏÂÁÐÇé¿öÓ¦¸Ã×ÜÊÇʹÓÃÒ»¸ö¿ÕÐУº
·Á½¸ö·½·¨Ö®¼ä
··½ ......