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¡¢FACTORY——×·MMÉÙ²»ÁËÇë³Ô·¹ÁË£¬Âóµ±À͵靈áºÍ¿ÏµÂ»ùµÄ¼¦³á¶¼ÊÇMM°®³ÔµÄ¶«Î÷£¬ËäÈ»¿ÚζÓÐËù²»Í¬£¬µ«²»¹ÜÄã´øMMÈ¥Âóµ±ÀÍ»ò¿ÏµÂ»ù£¬Ö»¹ÜÏò·þÎñԱ˵“À´Ëĸö¼¦³á”¾ÍÐÐÁË¡£Âóµ±ÀͺͿϵ»ù¾ÍÊÇÉú²ú¼¦³áµÄFactory
¹¤³§Ä£Ê½£º¿Í»§ÀàºÍ¹¤³§Àà·Ö¿ª¡£Ïû·ÑÕßÈκÎʱºòÐèҪijÖÖ²úÆ·£¬Ö»ÐèÏò¹ ......
ÔÚDevoxx 2009£¨Ò»ÄêÒ»¶ÈµÄJavaÉçÇø´ó»á£¬½ñÄêÔÚ11ÔÂ16-20ÈÕ¾ÙÐУ©ÉÏ£¬SunÐû²¼½«ÔÚJDK 7ÖÐÔö¼Ó±Õ°ü¹¦ÄÜ¡£Õâ¸ö¹¦ÄܵÄÌí¼Ó½«´ÓFCM v0.5£¨First-Class Methods£¬µÚÒ»Àà·½·¨£©µÄÓï·¨ºÍÓïÒ⿪ʼ×ÅÊÖ¡£FCMÓëJCAÔ±¾Ò»Í¬±»Ìá½»£¬È»¶øSunÐû²¼JCA½«²»ÔÚJDK 7Öп¼ÂÇ¡£
ͬʱ£¬Sun±íʾJava 7µÄ·¢²¼Ê±¼ä½«±»ÍƳÙÖÁ2010Äêµ×¡£ ......
ûÓÐÒ»¸öƽ̨¶ÀÁ¢µÄ·½·¨Äܹ»ÔÚËùÓеÄJVMÉÏʵÏÖ¡£Ò»¸ö×î¼òµ¥¡¢×î½Ó½üÈ¡µÃPIDµÄ°ì·¨ÊÇʹÓãº
ManagementFactory.getRuntimeMXBean().getName() ¡£
È¡µÃµ½µÄ×Ö·û´ÜµÄ¸ñʽΪ[PROCESS_ID]@[MACHINE_NAME]£¬Í¨¹ý½âÎöÕâ¸ö×Ö·û´®¾Í¿ÉÒԵõ½java½ø³ÌµÄPID¡£
ÔÚÒÔÏÂÆ½Ì¨ÉϲâÊÔͨ¹ý£º
1¡¢Windows¡¢LinuxÉϵÄSun JDK1.5¡¢JDK6
2¡¢H ......
Äú²éѯµÄ¹Ø¼ü´ÊÊÇ£ºnewinstance object initargs ¡£Èç¹û´ò¿ªËÙ¶ÈÂý£¬¿ÉÒÔ³¢ÊÔ¿ìËٰ棻Èç¹ûÏë±£´æ¿ìÕÕ£¬¿ÉÒÔÌí¼Óµ½ËѲء£
(°Ù¶ÈºÍÍøÒ³http://bbs.iaiai.com/forum/read.php?tid=2690µÄ×÷ÕßÎ޹أ¬²»¶ÔÆäÄÚÈݸºÔð¡£°Ù¶È¿ìÕÕ½÷ÎªÍøÂç¹ÊÕÏʱ֮Ë÷Òý£¬²»´ú±í±»ËÑË÷ÍøÕ¾µÄ¼´Ê±Ò³Ãæ¡£)
Ö÷Ìâ : javaµÄ·´Éä ......
javaÖеķâ×°
·â×°£¬Ò»¸ö¶ÔÏóºÍÍâ½çµÄÁªÏµÓ¦µ±Í¨¹ýÒ»¸öͳһµÄ½Ó¿Ú£¬Ó¦µ±¹«¿ªµÄ¹«¿ª£¬Ó¦µ±Òþ²ØµÄÒþ²Ø¡££¨¶ÔÏóµÄÊôÐÔÓ¦µ±Òþ²Ø£©£¬Ò»¸ö¶ÔÏóµÄÄÚ²¿ÊÇ͸Ã÷µÄ£¬¾ÍÊǰѶÔÏóÄÚ²¿µÄ¿É͸Ã÷ÐÔºÍÒþ²ØµÄÌØÐÔÇø·Ö¿ª£¬¸Ã͸Ã÷µÄ͸Ã÷£¬¸ÃÒþ²ØµÄÒþ²Ø¡£
£¨·â×°µÄÊôÐÔ£©javaÖÐÀàµÄÊôÐԵķÃÎÊȨÏÞ ......