Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¡¾×ª¡¿ÔÚJavaÖÐʹÓÃNIO½øÐÐÍøÂç±à³Ì

ÔÚJDKÖУ¬ÓÐÒ»¸ö·Ç³£ÓÐÒâ˼µÄ¿â£ºNIO£¨New I/O£©¡£Õâ¸ö¿âÖÐÓÐ3¸öÖØÒªµÄÀ࣬·Ö±ðÊÇjava.nio.channelsÖÐSelectorºÍChannel£¬ÒÔ¼°java.nioÖеÄBuffer¡£
±¾ÆªÎÄÕÂÎÒÃÇÊ×ÏÈÁ˽âÒ»ÏÂΪʲôÐèÒªNIOÀ´½øÐÐÍøÂç±à³Ì£¬È»ºó¿´¿´Ò»²½Ò»²½À´½²½âÈçºÎÔÚÍøÂç±à³ÌÖÐʹÓÃNIO¡£
ΪʲôÐèÒªNIO
ʹÓÃJava±àд¹ýSocket³ÌÐòµÄͬѧһ¶¨¶¼ÖªµÀSocketºÍSocketServer¡£µ±µ÷ÓÃij¸öµ÷ÓõÄʱºò£¬µ÷Óõĵط½¾Í»á×èÈû£¬µÈ´ýÏìÓ¦¡£ÕâÖÖ·½Ê½¶ÔÓÚС¹æÄ£µÄ³ÌÐò·Ç³£·½±ã£¬µ«ÊǶÔÓÚ´óÐ͵ijÌÐò¾ÍÓеãÁ¦²»´ÓÐÄÁË£¬µ±ÓдóÁ¿µÄÁ¬½ÓµÄʱºò£¬ÎÒÃÇ¿ÉÒÔΪÿһ¸öÁ¬½Ó½¨Á¢Ò»¸öÏß³ÌÀ´²Ù×÷¡£µ«ÊÇÕâÖÖ×ö·¨´øÀ´µÄȱÏÝÒ²ÊÇÏÔ¶øÒ×¼ûµÄ£º
Ó²¼þÄܹ»Ö§³Ö´óÁ¿µÄ²¢·¢¡£
²¢·¢µÄÊýÁ¿Ê¼ÖÕÓÐÒ»¸öÉÏÏÞ¡£
¸÷¸öÏß³ÌÖ®¼äµÄÓÅÏȼ¶²»ºÃ¿ØÖÆ¡£
¸÷¸öClientÖ®¼äµÄ½»»¥Óëͬ²½À§ÄÑ¡£
ÎÒÃÇÒ²¿ÉÒÔʹÓÃÒ»¸öÏß³ÌÀ´´¦ÀíËùÓеÄÇëÇó£¬Ê¹Óò»×èÈûµÄIO£¬ÂÖѯ²éѯËùÓеÄClient¡£ÕâÖÖ×ö·¨Í¬ÑùÒ²ÓÐȱÏÝ£ºÎÞ·¨Ñ¸ËÙÏìÓ¦Client¶Ë£¬Í¬Ê±»áÏûºÄ´óÁ¿ÂÖѯ²éѯµÄʱ¼ä¡£
ËùÒÔ£¬ÎÒÃÇÐèÒªÒ»ÖÖpollµÄģʽÀ´´¦ÀíÕâÖÖÇé¿ö£¬´Ó´óÁ¿µÄÍøÂçÁ¬½ÓÖÐÕÒ³öÀ´ÕæÕýÐèÒª·þÎñµÄClient¡£ÕâÕýÊÇNIOµ®ÉúµÄÔ­Òò£ºÌṩһÖÖPollµÄģʽ£¬ÔÚËùÓеÄClientÖÐÕÒµ½ÐèÒª·þÎñµÄClient¡£
»Øµ½ÎÒÃǸոÕ˵µ½µÄ3¸ö×î×îÖØÒªµÄClass£ºjava.nio.channelsÖÐSelectorºÍChannel£¬ÒÔ¼°java.nioÖеÄBuffer¡£
Channel´ú±íÒ»¸ö¿ÉÒÔ±»ÓÃÓÚPoll²Ù×÷µÄ¶ÔÏ󣨿ÉÒÔÊÇÎļþÁ÷Ò²¿ÉÒÔÊ¹ÍøÂçÁ÷£©£¬ChannelÄܹ»±»×¢²áµ½Ò»¸öSelectorÖС£Í¨¹ýµ÷ÓÃSelectorµÄselect·½·¨¿ÉÒÔ´ÓËùÓеÄChannelÖÐÕÒµ½ÐèÒª·þÎñµÄʵÀý£¨Accept£¬read ..£©¡£Buffer¶ÔÏóÌṩ¶ÁдÊý¾ÝµÄ»º´æ¡£Ïà¶ÔÓÚÎÒÃÇÊìϤµÄStream¶ÔÏó£¬BufferÌṩ¸üºÃµÄÐÔÄÜÒÔ¼°¸üºÃµÄ±à³Ì͸Ã÷ÐÔ£¨ÈËΪ¿ØÖÆ»º´æµÄ´óСÒÔ¼°¾ßÌåµÄ²Ù×÷£©¡£
ÅäºÏBufferʹÓÃChannel
Ó봫ͳģʽµÄ±à³Ì²»Óã¬Channel²»Ê¹ÓÃStream£¬¶øÊÇBuffer¡£ÎÒÃÇÀ´ÊµÏÖÒ»¸ö¼òµ¥µÄ·Ç×èÈûEcho Client£º
package com.cnblogs.gpcuster;
import java.net.InetSocketAddress;
import java.net.SocketException;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
public class TCPEchoClientNonblocking {
 public static void main(String args[]) throws Exception {
  if ((args.length < 2) || (args.length > 3))// Testforcorrect#ofargs
   throw new IllegalArgumentException(
     "Param


Ïà¹ØÎĵµ£º

javaʹÓÃrocksawºÍvserv tcpipʵÏÖ»ùÓÚICMPµÄPing¹¦ÄÜ

Ò»£º×¼±¸ www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
¶þ£º±àÒëÔ´ÎļþµÃµ½jar°ü ʹÓÃAnt
 1.  build vserv-tcpip-0.9.2-src
      ÔÚvserv-tcpip-0.9.2Ŀ¼ÏÂÃæ½¨Ò»¸ötestsĿ¼£¬È»ºóÔÚcmd´°¿ÚϽøÈë ......

½âÎöJavaÀàºÍ¶ÔÏóµÄ³õʼ»¯¹ý³Ì

ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......

Javaʱ¼äº¯Êý

String   posttime=new   java.text.SimpleDateFormat("yyyy-MM-dd   HH:mm:sss").format(   java.util.Calendar.getInstance().getTime()   );
1. Java¼ÆËãʱ¼äÒÀ¿¿1970Äê1ÔÂ1ÈÕ¿ªÊ¼µÄºÁÃëÊý.                 ......

javaÖеÄfinal£¬static¹Ø¼ü×Ö

¹Ø¼ü×Öfinal£º
    ÔÚJavaÖÐÉùÃ÷Àà¡¢ÊôÐԺͷ½·¨Ê±£¬¿ÉʹÓùؼü×ÖfinalÀ´ÐÞÊΡ£
    final±ê¼ÇµÄÀ಻Äܱ»¼Ì³Ð¡£
    final±ê¼ÇµÄ·½·¨²»Äܱ»×ÓÀàÖØÐ´¡£
    final±ê¼ÇµÄ±äÁ¿(³ÉÔ±±äÁ¿»ò¾Ö²¿±äÁ¿)¼´³ÉΪ³£Á¿£¬Ö»Äܸ³ÖµÒ»´Î¡£
    final±ê¼Çµ ......

Agile Java ѧϰ±Ê¼Ç£¨¶þ£© Æð²½

ÓÉÓÚÓÐÒ»¶¨µÄJavaºÍJUnitµÄ»ù´¡£¬ËùÒԸоõµÚÒ»¿Î±È½Ï¼òµ¥£¬µ«ÊÕ»ñ»¹ÊÇÓе쬱ÈÈçËµÖØ¹¹²¿·Ö½éÉܵÄÄÚÈÝ¡£
JUnitÒªµã£º
²âÊÔ·½·¨µÄÃüÃû¹æÔò£º
l  ·½·¨±ØÐëÉùÃ÷Ϊpublic
l  ·½·¨µÄ·µ»ØÖµ±ØÐëΪvoid
l  ·½·¨µÄÃû×Ö±ØÐëÒÔСдµÄtestΪǰ׺
l  ·½·¨²»ÄܽÓÊÜÈκβÎÊý
 
ÖØ¹¹Òªµã£º
1. &nbs ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ