ͨ¹ý¹Û²ìÕßģʽºÍReactorģʽÉîÈëÀí½âJAVA NIO Ïß³Ì
Java¡¡NIO·Ç¶ÂÈûÓ¦ÓÃͨ³£ÊÊÓÃÓÃÔÚI/O¶ÁдµÈ·½Ã棬ÎÒÃÇÖªµÀ£¬ÏµÍ³ÔËÐеÄÐÔÄÜÆ¿¾±Í¨³£ÔÚI/O¶Áд£¬°üÀ¨¶Ô¶Ë¿ÚºÍÎļþµÄ²Ù×÷ÉÏ£¬¹ýÈ¥£¬ÔÚ´ò
¿ªÒ»¸öI/OͨµÀºó£¬read()½«Ò»Ö±µÈ´ýÔÚ¶Ë¿ÚÒ»±ß¶ÁÈ¡×Ö½ÚÄÚÈÝ£¬Èç¹ûûÓÐÄÚÈݽøÀ´£¬read()Ò²ÊÇɵɵµÄµÈ£¬Õâ»áÓ°ÏìÎÒÃdzÌÐò¼ÌÐø×öÆäËûÊÂÇ飬ÄÇ
ô¸Ä½ø×ö·¨¾ÍÊÇ¿ªÉèỊ̈߳¬ÈÃÏß³ÌÈ¥µÈ´ý£¬µ«ÊÇÕâÑù×öÒ²ÊÇÏ൱ºÄ·Ñ×ÊÔ´£¨´«Í³socketͨѶ·þÎñÆ÷Éè¼ÆÄ£Ê½£©
µÄ¡£
Java NIO·Ç¶ÂÈû¼¼Êõʵ¼ÊÊDzÉÈ¡Reactorģʽ£¬»òÕß˵ÊÇObserverģʽΪÎÒÃǼà²ìI/O¶Ë¿Ú£¬Èç¹ûÓÐÄÚÈݽøÀ´£¬»á×Ô¶¯Í¨ÖªÎÒÃÇ£¬ÕâÑù£¬ÎÒÃǾͲ»±Ø¿ªÆô¶à¸öÏß³ÌËÀµÈ£¬´ÓÍâ½ç¿´£¬ÊµÏÖÁËÁ÷³©µÄI/O¶Áд£¬²»¶ÂÈûÁË¡£
Java NIO³öÏÖ²»Ö»ÊÇÒ»¸ö¼¼ÊõÐÔÄܵÄÌá¸ß£¬Äã»á·¢ÏÖÍøÂçÉϵ½´¦ÔÚ½éÉÜËü£¬ÒòΪËü¾ßÓÐÀï³Ì±®ÒâÒ壬´ÓJDK1.4¿ªÊ¼£¬Java¿ªÊ¼Ìá¸ßÐÔÄÜÏà¹ØµÄ¹¦ÄÜ£¬´Ó¶øÊ¹µÃJavaÔڵײã»òÕß²¢Ðзֲ¼Ê½
¼ÆËãµÈ²Ù×÷ÉÏÒѾ¿ÉÒÔºÍC»òPerlµÈÓïÑÔ²¢¼ÝÆëÇý¡£
Èç¹ûÄãÖÁ½ñ»¹ÊÇÔÚ»³ÒÉJavaµÄÐÔÄÜ£¬ËµÃ÷ÄãµÄ˼ÏëºÍ¹ÛÄîÒѾÍêÈ«ÂäÎéÁË£¬JavaÒ»Á½Äê¾ÍÓ¦¸ÃÓÃеÄÃû´ÊÀ´¶¨Òå¡£´ÓJDK1.5¿ªÊ¼ÓÖÒªÌṩ¹ØÓÚÏ̡߳¢²¢·¢µÈÐÂÐÔÄܵÄÖ§³Ö£¬JavaÓ¦ÓÃÔÚÓÎÏ·µÈÊÊʱÁìÓò·½ÃæµÄ»ú»áÒѾ³ÉÊ죬JavaÔÚÎȶ¨×Ô¼ºÖмä¼þ
µØÎ»ºó£¬¿ªÊ¼²Ïʳ´«Í³CµÄÁìÓò¡£
±¾ÎÄÖ÷Òª¼òµ¥½éÉÜNIOµÄ»ù±¾ÔÀí£¬
NIOÖ÷ÒªÔÀí
ºÍÊÊÓá£
NIO ÓÐÒ»¸öÖ÷ÒªµÄÀàSelector,Õâ¸öÀàËÆÒ»¸ö¹Û²ìÕß
£¬Ö»ÒªÎÒÃǰÑÐèҪ֪̽µÄ
socketchannel¸æËßSelector,ÎÒÃǽÓ×Å×ö±ðµÄÊÂÇ飬µ±ÓÐʼþ·¢Éúʱ£¬Ëû»á֪ͨÎÒÃÇ£¬´«»ØÒ»×éSelectionKey,ÎÒÃǶÁÈ¡ÕâЩ
Key,¾Í»á»ñµÃÎÒÃǸոÕ×¢²á¹ýµÄsocketchannel,È»ºó£¬ÎÒÃÇ´ÓÕâ¸öChannelÖжÁÈ¡Êý¾Ý£¬·ÅÐÄ£¬°ü×¼Äܹ»¶Áµ½£¬½Ó×ÅÎÒÃÇ¿ÉÒÔ´¦ÀíÕâЩÊý¾Ý¡£
SelectorÄÚ²¿ÔÀíʵ¼ÊÊÇÔÚ×öÒ»¸ö¶ÔËù×¢²áµÄchannelµÄÂÖѯ·ÃÎÊ
£¬²»¶ÏµÄÂÖѯ(Ŀǰ¾ÍÕâÒ»¸öËã·¨)£¬Ò»µ©ÂÖѯµ½Ò»¸öchannelÓÐËù×¢²áµÄÊÂÇé·¢Éú£¬±ÈÈçÊý¾ÝÀ´ÁË£¬Ëû¾Í»áÕ¾ÆðÀ´±¨¸æ£¬½»³öÒ»°ÑÔ¿³×£¬ÈÃÎÒÃÇͨ¹ýÕâ°ÑÔ¿³×£¨SelectionKey
±íʾ SelectableChannel
ÔÚ Selector
ÖеÄ×¢²áµÄ±ê¼Ç¡£ £©À´¶ÁÈ¡Õâ¸öchannelµÄÄÚÈÝ¡£
Á˽âÁËÕâ¸ö»ù±¾ÔÀí£¬ÎÒÃǽáºÏ´úÂë¿´¿´Ê¹Óã¬ÔÚʹÓÃÉÏ£¬Ò²ÔÚ·ÖÁ½¸ö·½Ïò£¬Ò»¸öÊÇÏ̴߳¦Àí£¬Ò»¸öÊÇÓ÷ÇỊ̈߳¬ºóÕ߱Ƚϼòµ¥£¬¿´ÏÂÃæ´úÂ룺
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import java.nio.channels.spi.*;
import java.net.*;
import java.util.*;
/**
*
* @author Administrator
* @version
*/
pub
Ïà¹ØÎĵµ£º
/**
*
* @param par
* ÈëÁ¦Ãû
* @return ÈëÁ¦値
*/
public static String inputfromConsole(String par) {
System.out.println(par);
InputStreamReader ......
¼¯ºÏCollection½Ó¿Ú
--Collection ÊÇÈκζÔÏó×é£¬ÔªËØ¸÷×Ô¶ÀÁ¢£¬Í¨³£ÓµÓÐÏàͬµÄÌ×ÓùæÔò¡£Set ListÓÉËüÅÉÉú¡£
»ù±¾²Ù×÷ Ôö¼ÓÔªËØadd(Object obj); addAll(Collection c);
ɾ³ýÔªËØ remove(Object obj); removeAll(Collection c);
Çó½»¼¯ retainAll(Collection c);
ɾ³ýÔªËØ remove(Object obj); removeAll(Collectio ......
JavaÉú³ÉͼƬÑéÖ¤Âë
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import javax.imageio.*;
/**
*
* @author http://www.tot.name
* @version
*/
public cl ......
package ch01;
public class BubbleSort
{
public static void main(String[] args){
int[] values ={
&n ......
Java¹æÔòÒýÇæ¹¤×÷ÔÀí¼°ÆäÓ¦ÓÃ
¡¡¡¡Õª Òª Java¹æÔòÒýÇæÊÇÒ»ÖÖǶÈëÔÚJava³ÌÐòÖеÄ×é¼þ£¬ËüµÄÈÎÎñÊǰѵ±Ç°Ìá½»¸øÒýÇæµÄJavaÊý¾Ý¶ÔÏóÓë¼ÓÔØÔÚÒýÇæÖеÄÒµÎñ¹æÔò½øÐвâÊԺͱȶԣ¬¼¤»îÄÇЩ·ûºÏµ±Ç°Êý¾Ý״̬ϵÄÒµÎñ¹æÔò£¬¸ù¾ÝÒµÎñ¹æÔòÖÐÉùÃ÷µÄÖ´ÐÐÂß¼£¬´¥·¢Ó¦ÓóÌÐòÖжÔÓ¦µÄ²Ù×÷¡£
¡¡¡¡ÒýÑÔ
¡¡¡¡Ä¿Ç°£¬JavaÉçÇøÍÆ¶¯²¢·¢Õ¹Á ......