JavaNIO(NewInput/Output)——新的输入/输出API包——是年引入到J2SE1.4里的。JavaNIO的目标是提高Java平台上的I/O密集型任务的性能。过了十年,很多Java开发者还是不知道怎么充分利用NIO,更少的人知道在JavaSE7里引入了更新的输入/输出API(NIO.2)。
NIO和NIO.2对于Java平台最大的贡献是提高了Java应用开发中的一个核心组件的性能:输入/输出处理。不过这两个包都不是很好用,并且它们也不是适用于所有的场景。如果能够正确地使用的话,JavaNIO和NIO.2可以大大减少一些常用I/O操作所花的时间。
1.变更通知(因为每个事件都需要一个监听者)
2.选择器和异步IO:通过选择器来提高多路复用
3.通道——承诺与现实
4.内存映射——好钢用在刀刃上
5.字符编码和搜索
NIO的背景:
为什么一个已经存在10年的增强包还是Java的新I/O包呢?原因是对于大多数的Java程序员而言,基本的I/O操作都能够胜任。