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編程中的應用場景,如圖所示: