Java NIO APIÏê½â
Java NIO APIÏê½â
ÔÚJDK 1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄͬ²½£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩÒì²½(non-blocking)IO²Ù×÷µÄAPI±»ÒýÈë¡£±¾ÎÄ¶ÔÆä½øÐÐÉîÈëµÄ½éÉÜ¡£
NIO APIÖ÷Òª¼¯ÖÐÔÚjava.nioºÍËüµÄsubpackagesÖУº
java.nio
¶¨ÒåÁËBuffer¼°ÆäÊý¾ÝÀàÐÍÏà¹ØµÄ×ÓÀà¡£ÆäÖб»java.nio.channelsÖеÄÀàÓÃÀ´½øÐÐIO²Ù×÷µÄByteBufferµÄ×÷Ó÷dz£ÖØÒª¡£
java.nio.channels
¶¨ÒåÁËһϵÁд¦ÀíIOµÄChannel½Ó¿ÚÒÔ¼°ÕâЩ½Ó¿ÚÔÚÎļþϵͳºÍÍøÂçͨѶÉϵÄʵÏÖ¡£Í¨¹ýSelectorÕâ¸öÀ࣬»¹ÌṩÁ˽øÐÐÒì²½IO²Ù×÷µÄ°ì·¨¡£Õâ¸ö°ü¿ÉÒÔ˵ÊÇNIO APIµÄºËÐÄ¡£
java.nio.channels.spi
¶¨ÒåÁË¿ÉÓÃÀ´ÊµÏÖchannelºÍselector APIµÄ³éÏóÀà¡£
java.nio.charset
¶¨ÒåÁË´¦Àí×Ö·û±àÂëºÍ½âÂëµÄÀà¡£
java.nio.charset.spi
¶¨ÒåÁË¿ÉÓÃÀ´ÊµÏÖcharset APIµÄ³éÏóÀà¡£
java.nio.channels.spiºÍjava.nio.charset.spiÕâÁ½¸ö°üÖ÷Òª±»ÓÃÀ´¶ÔÏÖÓÐNIO API½øÐÐÀ©Õ¹£¬ÔÚʵ¼ÊµÄʹÓÃÖУ¬ÎÒÃÇÒ»°ãÖ»ºÍÁíÍâµÄ3¸ö°ü´ò½»µÀ¡£ÏÂÃæ½«¶ÔÕâ3¸ö°üÒ»Ò»½éÉÜ¡£
Package java.nio
Õâ¸ö°üÖ÷Òª¶¨ÒåÁËBuffer¼°Æä×ÓÀà¡£Buffer¶¨ÒåÁËÒ»¸öÏßÐÔ´æ·Åprimitive typeÊý¾ÝµÄÈÝÆ÷½Ó¿Ú¡£¶ÔÓÚ³ýbooleanÒÔÍâµÄÆäËûprimitive type£¬¶¼ÓÐÒ»¸öÏàÓ¦µÄBuffer×ÓÀ࣬ByteBufferÊÇÆäÖÐ×îÖØÒªµÄÒ»¸ö×ÓÀà¡£
ÏÂÃæÕâÕÅUMLÀàͼÃèÊöÁËjava.nioÖеÄÀàµÄ¹ØÏµ£º
Buffer
¶¨ÒåÁËÒ»¸ö¿ÉÒÔÏßÐÔ´æ·Åprimitive typeÊý¾ÝµÄÈÝÆ÷½Ó¿Ú¡£BufferÖ÷Òª°üº¬ÁËÓëÀàÐÍ£¨byte, char…£©Î޹صŦÄÜ¡£ÖµµÃ×¢ÒâµÄÊÇBuffer¼°Æä×ÓÀà¶¼²»ÊÇḬ̈߳²È«µÄ¡£
ÿ¸öBuffer¶¼ÓÐÒÔϵÄÊôÐÔ£º
capacity
Õâ¸öBuffer×î¶àÄܷŶàÉÙÊý¾Ý¡£capacityÒ»°ãÔÚbuffer±»´´½¨µÄʱºòÖ¸¶¨¡£
limit
ÔÚBufferÉϽøÐеĶÁд²Ù×÷¶¼²»ÄÜÔ½¹ýÕâ¸öϱꡣµ±Ð´Êý¾Ýµ½bufferÖÐʱ£¬limitÒ»°ãºÍcapacityÏàµÈ£¬µ±¶ÁÊý¾Ýʱ£¬limit´ú±íbufferÖÐÓÐЧÊý¾ÝµÄ³¤¶È¡£
position
¶Á/д²Ù×÷µÄµ±Ç°Ï±ꡣµ±Ê¹ÓÃbufferµÄÏà¶ÔλÖýøÐжÁ/д²Ù×÷ʱ£¬¶Á/д»á´ÓÕâ¸öÏÂ±ê½øÐУ¬²¢ÔÚ²Ù×÷Íê³Éºó£¬buffer»á¸üÐÂϱêµÄÖµ¡£
mark
Ò»¸öÁÙʱ´æ·ÅµÄλÖÃϱꡣµ÷ÓÃmark()»á½«markÉèΪµ±Ç°µÄpositionµÄÖµ£¬ÒÔºóµ÷ÓÃreset()»á½«positionÊôÐÔÉèÖÃΪmarkµÄÖµ¡£markµÄÖµ×ÜÊÇСÓÚµÈÓÚpositionµÄÖµ£¬Èç¹û½«positionµÄÖµÉèµÄ±Èmar
Ïà¹ØÎĵµ£º
ÏÂÃæÊÇÒ»¸ö¹ýÂËhtmlÔªËØµÄ³ÌÐò£¬Ò²Ðí¶Ô´ó¼ÒÓеã°ïÖú£¡
/**
* filter all html element.
* For example:<a href="www.sohu.com/test">hello!</a>
* The filter result is :hello!
  ......
amf3,adobe´´Á¢µÄÊý¾Ý¸ñʽÓÉÓÚʹÓöþ½øÖÆ,ûÓÐÁËxmlµÈÈßÓàµÄ×Ö·ûÊý¾ÝÁ¿»áÉٺܶà!¶øÇҺܶà²âÊÔ±¨¸æ¾ù²â³öamf´«µÝЧ¹ûºÜ¸ß.
Õâ´ÎÊÇʹÓÃFlexµÄSocketÀàÓëjavaµÄ·þÎñ¶Ë½øÐÐͨÐÅ,
²½ÖèÊÇ:
¿Í»§¶ËÓÃsocketÀàÁ¬½Ójava·þÎñÆ÷,
ʹÓòéѯ×Ö·û´®½øÐÐÇëÇó,
java½«Êý¾Ý·âװΪhashmap,×îºó½«hashmapÓÃamfoutputstreamÊä³öÖÁflexµÄ¿Í» ......
ÐòÁл¯¾ÍÊǰѶÔÏóת»»ÎªÁ÷ÒÔ´æ´¢µ½Îļþ»ò´«Ê䏸ÁíÒ»¸ö³ÌÐò£»·´ÐòÁл¯¾ÍÊǰÑÁ÷ת»»Îª¶ÔÏó¡£JAVAµÄÐòÁл¯£¬ÊÇͨ¹ýÊÇjava.io.Serializable½Ó¿ÚÀ´ÊµÏֵġ£¸Ã½Ó¿Ú²»°üº¬Èκη½·¨£¬½ö±ê¼ÇÊÇ·ñ¿É±»ÐòÁл¯¡£¿ÉÐòÁл¯µÄÀ࣬Æä³ÉÔ±Ò²±ØÐëÊÇ¿ÉÐòÁл¯µÄ£¨Èç¹ûÓгÉÔ±²»Äܱ»ÐòÁл¯£¬Ôò±ØÐ뽫¸Ã±äÁ¿±ê¼ÇΪ£ºtransient£¨Ë²Ì¬£©£¬ÐòÁл¯Ê±£¬» ......