Java中普通的I/O功能 一般体现在 1.文件读写、2.网络传输、3.字节流输入/输出 应用场景。而Java中的 NIO 提高了原有I/O的性能。
Java的NIO包含以下特性:
1.内存映射到文件
2.文件锁定
3.字符集编码和锁码
4.非阻塞的输入/输出
Java的NIO目前运用最广泛的在Apache的Tomcat6中,1.减少了服务器在瞬间达到峰值的现象,2.减少了服务器线程不必要的开销。
ps: 1.Tomcat5.X的版本中还不支持NIO。2.Tomcat 6中默认的配置并不支持NIO,需要进行配置,详见我写的另外一篇文章“给正在使用Tomcat6的朋友说几句废话(优化)” ,原文地址: http://www.javabloger.com/article/performance_tomcat_about_nio.html
从下面2图中就可以看出Java中普通的I/O和Java中NIO的区别
Java传统I/O在socket编程中的应用场景,如图所示: