在 jdk 1.4之前,java 的io操作主要集中在java.io 包中是基于流的[color=red]同步[/color]API,详细类结构如下:
java io
[img]http://new.51cto.com/files/uploadimg/20090302/093745452.jpg[/img]
[url]http://new.51cto.com/files/uploadimg/20090302/093745452.jpg[/url]
然而对于一些性能就高
nio是new io的简称,从jdk1.4就被引入了,nio 是一个基于缓冲区,并提供异步操作的API
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个 I/O通道后,read()将一直等待在端口一边读取字节内容,假如没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。
Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,假如有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。
Java NIO出现不只是一个技术性能的提高,你会发现网络上到处在介绍它,因为它具有里程碑意义,从JDK1.4开始,Java开始提高性能相关的功能,从而使得Java在底层或者并行分布式计算等操作上已经可以和C或Perl等语言并驾齐驱
相关结构
[img]http://hades.9hy.com/attachment/o_buffer.gif[/img]
[url]http://hades.9hy.com/attachment/o_buffer.gif[/url]
[img]http://www.alisdn.com/wordpress/wp-content/uploads/2008/12/socket-selector1-300x249.gif[/img]
[url]http://www.alisdn.com/wordpress/wp-content/uploads/2008/12/socket-selector1-300x249.gif[/url]
[img]http://hiphotos.baidu.com/cjmxp/pic/item/bc4bf8deaafaec4f94ee37ce.jpg[/img][url]http://hiphotos.baidu.com/cjmxp/pic/item/bc4bf8deaafaec4f94ee37ce.jpg[/url]
[url]http://wenku.baidu.com/view/d62d610bf78a6529647d53d3.html[/url]
java io
[img]http://new.51cto.com/files/uploadimg/20090302/093745452.jpg[/img]
[url]http://new.51cto.com/files/uploadimg/20090302/093745452.jpg[/url]
然而对于一些性能就高
nio是new io的简称,从jdk1.4就被引入了,nio 是一个基于缓冲区,并提供异步操作的API
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个 I/O通道后,read()将一直等待在端口一边读取字节内容,假如没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。
Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,假如有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。
Java NIO出现不只是一个技术性能的提高,你会发现网络上到处在介绍它,因为它具有里程碑意义,从JDK1.4开始,Java开始提高性能相关的功能,从而使得Java在底层或者并行分布式计算等操作上已经可以和C或Perl等语言并驾齐驱
相关结构
[img]http://hades.9hy.com/attachment/o_buffer.gif[/img]
[url]http://hades.9hy.com/attachment/o_buffer.gif[/url]
[img]http://www.alisdn.com/wordpress/wp-content/uploads/2008/12/socket-selector1-300x249.gif[/img]
[url]http://www.alisdn.com/wordpress/wp-content/uploads/2008/12/socket-selector1-300x249.gif[/url]
[img]http://hiphotos.baidu.com/cjmxp/pic/item/bc4bf8deaafaec4f94ee37ce.jpg[/img][url]http://hiphotos.baidu.com/cjmxp/pic/item/bc4bf8deaafaec4f94ee37ce.jpg[/url]
[url]http://wenku.baidu.com/view/d62d610bf78a6529647d53d3.html[/url]