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
Ïà¹ØÎĵµ£º
1¡¢Æ¥ÅäË«ÒýºÅ¼äÄÚÈÝ£º
Java´úÂë
public
void
test1() {
// Æ¥ÅäË«ÒýºÅ¼äÄÚÈÝ
String pstr = "\"([^\"]+)\""
;
Pattern ......
ûÓÐÒ»¸öƽ̨¶ÀÁ¢µÄ·½·¨Äܹ»ÔÚËùÓеÄJVMÉÏʵÏÖ¡£Ò»¸ö×î¼òµ¥¡¢×î½Ó½üÈ¡µÃPIDµÄ°ì·¨ÊÇʹÓãº
ManagementFactory.getRuntimeMXBean().getName() ¡£
È¡µÃµ½µÄ×Ö·û´ÜµÄ¸ñʽΪ[PROCESS_ID]@[MACHINE_NAME]£¬Í¨¹ý½âÎöÕâ¸ö×Ö·û´®¾Í¿ÉÒԵõ½java½ø³ÌµÄPID¡£
ÔÚÒÔÏÂÆ½Ì¨ÉϲâÊÔͨ¹ý£º
1¡¢Windows¡¢LinuxÉϵÄSun JDK1.5¡¢JDK6
2¡¢H ......
»ù±¾Êý¾ÝÀàÐÍ
ÔÚ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ÔËÐÐʱ¶à̬ÐÔµÄʵÏÖ¡£
¡¡¡¡Ò»¡¢Í¨¹ý ......