˵˵¶Ôjava nioµÄһЩ¸öÈË×ܽá
Ê×ÏÈÁ˽âÏÂËùνµÄjava nioÊǸöʲô¶«Î÷£¡
IOÊÇ¿¿×Ö·û»ò×Ö½Ú½øÐд«Ê䣬±È½ÏÂý£¡ ¶øNIOÊÇ¿¿¿é£¬ Ò²¾ÍÏ൱ÓÚÒ»¸öBuffer£¬ Ò»¿éÒ»¿é
µÄ´«Ê䣬 ËٶȽϿì
£¡ ͬʱ¼ÓÈëÁ˶àÏß³Ì
µÄ¿ØÖÆ£¬ Ò»¸öNIOÁ÷¿ÉÒÔͬʱ´«Êä¶à¸ö¿éµÈ£¬ Ò²¾ÍÊÇËùνµÄÒì²½´«Êä
£»
´«Í³
µÄ²¢·¢ÐÍ
·þÎñÆ÷Éè¼ÆÊÇÀûÓÃ×èÈûÐÍÍøÂçI/O
ÒÔ¶àÏ̵߳Äģʽ£¨Ò»¸öSOCKETÁ´½Ó£¬·þÎñ¶Ë¾ÍÆô¶¯Ò»¸öÏ߳̽ÓÊÜ·þÎñ
£©À´ÊµÏֵģ¬È»¶øÓÉ
ÓÚϵͳ³£³£ÔÚ½øÐÐÍøÂç¶Áдʱ´¦ÓÚ×èÈû״̬£¬»á´ó´óÓ°ÏìϵͳµÄÐÔÄÜ
£»×ÔJava1. 4 ¿ªÊ¼ÒýÈë
ÁËNIO(ÐÂI/O) API£¬Í¨¹ýʹÓ÷Ç×èÈûÐÍ
I/O
£¬ÊµÏÖÁ÷³©µÄÍøÂç¶Áд²Ù×÷£¬Îª¿ª·¢¸ßÐÔÄܲ¢·¢
ÐÍ·þÎñÆ÷³ÌÐòÌṩÁËÒ»¸öºÜºÃµÄ½â¾ö·½°¸¡£Õâ¾ÍÊÇjava nio
Ê×ÏÈÀ´¿´Ï´«Í³µÄ×èÈûÐÍÍøÂç I/OµÄ²»×ã Java ƽ̨´«Í³µÄI/O ϵͳ¶¼ÊÇ»ùÓÚByte£¨×Ö½Ú£©ºÍStream£¨Êý¾ÝÁ÷£©µÄ£¬ÏàÓ¦µÄI/O ²Ù×÷¶¼ÊÇ×èÈûÐ͵Ä
£¬
ËùÒÔ·þÎñÆ÷³ÌÐòÒ²²ÉÓÃ×èÈûÐÍI/O
½øÐÐÊý¾ÝµÄ¶Á¡¢Ð´²Ù×÷¡£±¾ÎÄÒÔTCP³¤Á¬½ÓģʽÀ´ÌÖÂÛ²¢·¢ÐÍ·þÎñÆ÷µÄÏà¹ØÉè¼Æ£¬ÎªÁËʵÏÖ·þÎñÆ÷³ÌÐòµÄ²¢·¢ÐÔÒªÇó£¬ÏµÍ³ÓÉÒ»¸öµ¥¶ÀµÄÖ÷Ïß³ÌÀ´¼àÌýÓû§·¢ÆðµÄ
Á¬½ÓÇëÇó£¬Ò»Ö±´¦ÓÚ×èÈû״̬£»µ±ÓÐÓû§Á¬½ÓÇëÇóµ½À´Ê±£¬³ÌÐò¶¼»áÆôÒ»¸öеÄÏß³ÌÀ´Í³Ò»´¦ÀíÓû§Êý¾ÝµÄ¶Á¡¢Ð´²Ù×÷¡£
ÕâÖÖģʽµÄÓŵãÊǼòµ¥¡¢ÊµÓá¢Ò×¹ÜÀí£»È»¶øÈ±µãÒ²ÊÇÏÔ¶øÒ×¼ûµÄ£ºÓÉÓÚÊÇΪÿһ¸ö¿Í»§¶Ë·ÖÅäÒ»¸öÏß³ÌÀ´´¦ÀíÊäÈë¡¢Êä³öÊý¾Ý£¬ÆäÏß³ÌÓë¿Í»§»úµÄ±ÈÀý½üËÆÎª1£º1
£¬Ëæ×ÅÏß³ÌÊýÁ¿µÄ²»¶ÏÔö¼Ó£¬·þÎñÆ÷Æô¶¯ÁË´óÁ¿µÄ²¢·¢Ị̈߳¬»á´ó´ó¼Ó´óϵͳ¶ÔÏ̵߳ĹÜÀí¿ªÏú
£¬Õ⽫³ÉΪÍÌÍÂÁ¿Æ¿¾±µÄÖ÷ÒªÔÒò
£»Æä´ÎÓÉÓڵײãµÄI/O ²Ù×÷²ÉÓõÄͬ²½Ä£Ê½£¬I/O ²Ù×÷µÄ×èÈû¹ÜÀíÁ£¶ÈÊÇÒÔ·þÎñÓÚÇëÇóµÄÏß³ÌΪµ¥Î»µÄ,ÓпÉÄÜ´óÁ¿µÄÏ̻߳áÏÐÖÃ,´¦ÓÚäµÈ״̬£¬Ôì³ÉI/O×ÊÔ´ÀûÓÃÂʲ»¸ß£¬Ó°ÏìÕû¸öϵͳµÄÐÔÄÜ¡£
¶ÔÓÚ²¢·¢ÐÍ·þÎñÆ÷£¬ÏµÍ³ÓÃÔÚ×èÈûÐÍI/O µÈ´ýºÍÏ̼߳äÇл»µÄʱ¼äÔ¶Ô¶¶àÓÚ
CPU ÔÚÄÚ
´æÖд¦ÀíÊý¾ÝµÄʱ¼ä£¬Òò´Ë´«Í³µÄ×èÈûÐÍI/O ÒѾ³ÉÎªÖÆÔ¼ÏµÍ³ÐÔÄܵį¿¾±¡£Java1.4 °æ±¾
ºóÍÆ³öµÄNIO ¹¤¾ß°ü£¬ÌṩÁË·Ç×èÈûÐÍI/O µÄÒì²½ÊäÈëÊä³ö
»úÖÆ
£¬ÎªÌá¸ßϵͳµÄÐÔÄÜÌṩ
ÁË¿ÉʵÏֵĻù´¡»úÖÆ¡£
NIO °ü¼°¹¤×÷ÔÀí
Õë¶Ô´«Í³I/O ¹¤×÷ģʽµÄ²»×㣬NIO ¹¤¾ß°üÌá³öÁË»ùÓÚBuffer£¨»º³åÇø£©¡¢Channel£¨Í¨
µÀ£©¡¢Selector£¨Ñ¡ÔñÆ÷£©µÄÐÂģʽ£»Selector£¨Ñ¡ÔñÆ÷£©¡¢¿ÉÑ¡ÔñµÄChannel£¨Í¨µÀ£©ºÍ
SelectionKey£¨Ñ¡Ôñ¼ü£©ÅäºÏÆðÀ´Ê¹Ó㬿ÉÒÔʵÏÖ²¢·¢µÄ·Ç×èÈûÐÍI/O ÄÜÁ¦¡£
NIO ¹¤¾ß°üµÄ³ÉÔ±
Buffer£¨»º³åÆ÷£©
Ïà¹ØÎĵµ£º
תÖÁ£ºhttp://sllereak.blog.163.com/blog
--ʲôÊÇÏß³Ì
*Ïß³ÌÊÇÒ»¸ö³ÌÐòÀïÃæ²»Í¬µÄÖ´Ðз¾¶
*³ÌÐòÖ´ÐÐÔÚͬһʱ¼äÀïÃæ£¬Ã¿Ò»¸öÖ´ÐеķÖÖ§¾ÍÊÇÒ»¸öÏß³Ì
*Ò»¸ö³ÌÐòµÄMain()·½·¨ÖеÄÖ´ÐÐÏß·³ÆÎª³ÌÐòµÄÖ÷Ïß³Ì
--½ø³ÌºÍÏß³Ì
*½ø³ÌÊÇÒ»¸ö¾²Ì¬µÄ¸ÅÄµ±´úÂë±»javaÐéÄâ»ú¼ÓÔØµ½code segmentÖ ......
·þÎñ¶Ë£º
package socket;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket server = new Se ......
¶à̬µÄÄ¿µÄ
ͨ¹ýÀàÐÍת»»£¬°ÑÒ»¸ö¶ÔÏóµ±×÷ËüµÄ»ùÀà¶ÔÏó¶Ô´ý¡£
´ÓÏàͬµÄ»ùÀàÅÉÉú³öÀ´µÄ¶à¸öÅÉÉúÀà¿É±»µ±×÷ͬһ¸öÀàÐͶԴý£¬¿É¶ÔÕâЩ²»Í¬µÄÀàÐͽøÐÐͬÑùµÄ´¦Àí¡£
ÕâЩ²»Í¬ÅÉÉúÀàµÄ¶ÔÏóÏìӦͬһ¸ö·½·¨Ê±µÄÐÐΪÊÇÓÐËù²î±ðµÄ£¬ÕâÕýÊÇÕâЩÏàËÆµÄÀàÖ®¼ä±Ë´ËÇø±ðµÄ²»Í¬Ö®´¦¡£
¶¯Ì¬°ó¶¨
½«Ò»¸ö·½·¨µ÷ÓúÍÒ»¸ö·½·¨Ö÷ÌåÁ¬½Óµ½Ò»Æð ......
/*****************Animal.java begin ***********************/
public class Animal{
public void jj(){
}
public static void main(String args[]){
//±àÒëʱÀàÐÍ //ÔËÐÐʱÀàÐÍ
Animal anima ......
1.»ù±¾¸ÅÄîµÄÀí½â
¾ø¶Ô·¾¶£º¾ø¶Ô·¾¶¾ÍÊÇÄãµÄÖ÷Ò³ÉϵÄÎļþ»òĿ¼ÔÚÓ²ÅÌÉÏÕæÕýµÄ·¾¶£¬(URLºÍÎïÀí·¾¶)ÀýÈ磺
C:xyz est.txt ´ú±íÁËtest.txtÎļþµÄ¾ø¶Ô·¾¶¡£http://www.sun.com/index.htmÒ²´ú±íÁËÒ»¸öURL¾ø¶Ô·¾¶¡£
Ïà¶Ô·¾¶£ºÏà¶ÔÓëij¸ö»ù׼Ŀ¼µÄ·¾¶¡£°üº¬WebµÄÏà¶Ô·¾¶£¨HTMLÖеÄÏà¶ÔĿ¼£©£¬ÀýÈ磺ÔÚ
Servl ......