Java NIO教程下载

Java语言电子书 05/10 阅读 983 views次 人气 0
摘要:

Java NIO(NewIO)是从Java1.4版本开始引入的一个新的IOAPI,可以替代标准的Java IO API,是非阻塞的 I/O API。

本教程介绍了 Java 平台上的高级输入/输出,具体点说,就是使用 Java 2 标准版(J2SE)软件开发包(SDK)1.4 及以后版本进行的输入/输出。J2SE 1.4 版代号 Merlin,包含可观的 I/O 新特性,对此我们将作详细论述。这些新的 I/O 特性主要包含在 java.nio 软件包及其子包中,并被命名为 New I/O(NIO)。通过本书,您将学会如何使用这些令人兴奋的新特性来极大地提升 Java 应用程序的 I/O 效率。

Java 真正的归宿还在企业应用(何谓“企业应用”,恐怕还没有一个确切的定义),但与本地编译语言相比,Java 在 I/O 领域一直处于劣势,这种情况直到 J2SE SDK 发布了 1.4 版以后才有了改观。Java 的劣势源于其最大的优势:一次编写,到处运行。Java 需要运行于虚拟机(即 JVM)之上,为了保证 Java 字节码在各种 JVM 部署平台上运行效果一致,作些妥协是必须的。既然需要通用于不同的操作系统平台,那么,某种程度上就必须选择各种平台都接受的处理方案。

最切实地感受到妥协带来的后果的,莫过于 I/O 领域。虽然 Java 有一套完备的 I/O 类,但迄今为止还只是针对通用特性,通常位于高端抽象层,横跨各种操作系统。这些 I/O 类主要面向流数据,经常为了处理个别字节或字符,就要执行好几个对象层的方法调用。

这种面向对象的处理方法,将不同的 I/O 对象组合到一起,提供了高度的灵活性,但需要处理大量数据时,却可能对执行效率造成致命伤害。I/O 的终极目标是效率,而高效的 I/O 往往又无法与对象形成一一对应的关系。高效的 I/O 往往意味着您要选择从 A 到 B 的最短路径,而执行大量I/O 操作时,复杂性毁了执行效率。

传统 Java 平台上的 I/O 抽象工作良好,适应用途广泛。但是当移动大量数据时,这些 I/O 类可伸缩性不强,也没有提供当今大多数操作系统普遍具备的常用 I/O 功能,如文件锁定、非块 I/O、就绪性选择和内存映射。这些特性对实现可伸缩性是至关重要的,对保持与非 Java 应用程序的正常交互也可以说是必不可少的,尤其是在企业应用层面,而传统的 Java I/O 机制却没有模拟这些通用 I/O 服务。

001.jpg


教程目录:

第一章 简介
1.1 I/O 与 CPU 时间的比较
1.2 CPU 已不再是束缚
1.3 进入正题
1.4 I/O 概念
1.5 总结
第二章 缓冲区
2.1 缓冲区基础
2.2 创建缓冲区
2.3 复制缓冲区
2.4 字节缓冲区
2.5 总结
第三章 通道
3.1 通道基础
3.2 Scatter / Gather
3.3 文件通道
3.4 内存映射文件
3.5 套接字通道
3.6 管道
3.7 通道实用工具类
3.8 总结
第四章 选择器
4.1 选择器基础
4.2 使用选择键
4.3 使用选择器
4.4 异步可关闭性
4.5 选择缩放
4.6 总结
第五章 正则表达式
5.1 正则表达式基础
5.2 Java 正则表达式 API
5.3 字符串类正则表达式方法
5.4 Java 正则表达式语法
5.5 面向对象的文件检索
5.6 总结
第六章 字符集
6.1 字符集基础
6.2 字符集
6.3 字符集服务提供接口
6.4 总结
附录 A. NIO 与 JNI
附录 B. 可选择通道 SPI
附录 C. NIO 快速参考
C.1 java.nio 包
C.2 java.nio.channels 包
C.3 java.nio.channels.spi 包
C.4 java.nio.charset 包
C.5 java.nio.charset.spi 包
C.6 java.util.regex 包


评论

该文章不支持评论!

分享到: