3.6 小结
I/O操作一直是程序开发中的重要组成部分。高效的I/O操作实现也是很多开发人员所追求的目标。从概念层次来说,I/O操作所表示的抽象含义并不复杂,只是把数据从一个地方传输到另外一个地方。但是,不同的传输实体本身的特征会使在其上进行的I/O操作有各自不同的特点,I/O操作也需要根据这些实体的特征来做出相应的调整。本章主要侧重于介绍Java I/O操作中的底层抽象和重要API的使用。如果程序是基于Java 7来构建的,从通道开始着手是一个很好的选择,对于流则尽量少使用通道。了解Java 7增加的异步套接字通道和文件操作方面的新功能,可以避免在开发中重复地发明一些实际上用不到的“轮子”,使用标准库通常总是一个更好的选择。
在开发高性能网络应用方面,Java提供的标准库所支持的抽象层次过低,并不适合一般的开发人员直接使用通道。过多的底层细节和性能调优会耗费开发人员大量的精力,选用一个已有的网络应用开发库是一种更好的选择。Apache MINA[1]和JBoss Netty[2]都是不错的库,可以作为开发的基础。
[1]Apache MINA库的网址是http://mina.apache.org/。
[2]JBoss Netty库的网址是http://www.jboss.org/netty。