`

java NIO进阶

阅读更多
NIO 入门
在开始之前
关于本教程
新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高
速的、面向块的 I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO 不用使用本机代码就可以利用
低级优化,这是原来的 I/O 包所无法做到的。
在本教程中,我们将讨论 NIO 库的几乎所有方面,从高级的概念性内容到底层的编程细节。除了学习诸如缓冲区和通
道这样的关键 I/O 元素外,您还有机会看到在更新后的库中标准 I/O 是如何工作的。您还会了解只能通过 NIO 来完
成的工作,如异步 I/O 和直接缓冲区。
在本教程中,我们将使用展示 NIO 库的不同方面的代码示例。几乎每一个代码示例都是一个大的 Java 程序的一部分,
您可以在 参考资料 中找到这个 Java 程序。在做这些练习时,我们推荐您在自己的系统上下载、编译和运行这些程序。
在您学习了本教程以后,这些代码将为您的 NIO 编程努力提供一个起点。
本教程是为希望学习更多关于 JDK 1.4 NIO 库的知识的所有程序员而写的。为了最大程度地从这里的讨论中获益,您
应该理解基本的 Java 编程概念,如类、继承和使用包。多少熟悉一些原来的 I/O 库(来自java.io.* 包)也会有所帮助。
虽然本教程要求掌握 Java 语言的工作词汇和概念,但是不需要有很多实际编程经验。除了彻底介绍与本教程有关的所
有概念外,我还保持代码示例尽可能短小和简单。目的是让即使没有多少 Java 编程经验的读者也能容易地开始学习
NIO。
如何运行代码
源代码归档文件(在 参考资料 中提供)包含了本教程中使用的所有程序。每一个程序都由一个 Java
文件构成。每一个文件都根据名称来识别,并且可以容易地与它所展示的编程概念相关联。
教程中的一些程序需要命令行参数才能运行。要从命令行运行一个程序,只需使用最方便的命令行提
示符。在 Windows 中,命令行提供符是 “Command” 或者 “command.com” 程序。在 UNIX
中,可以使用任何 shell。
需要安装 JDK 1.4 并将它包括在路径中,才能完成本教程中的练习。如果需要安装和配置 JDK 1.4
的帮助,请参见 参考资料 。
关于作者
Greg Travis 是一位自由 Java 程序员和技术撰稿人,现居住在纽约市。Greg 于1992 年开始其
编程生涯,在高端 PC 游戏领域工作了三年。1995 年,他加入了 EarthWeb,在那里他开始用 Java
编程语言开发新技术。1997 年后,Greg 成为各个 Web 技术领域的顾问,致力于实时图像和声音。
他的兴趣包括算法优化、编程语言设计、信号处理(侧重于音乐)以及实时三维图像。 Greg 撰写的
其他文章可从 他的个人 Web 页 上找到。他还是 Manning Publications 出版的 JDK 1.4
Tutorial 一书的作者。
关本教程的技术问题或建议,可通过 mito@panix.com 或单击任何小节顶部的“反馈”与 Greg
Travis 联系。
输入/输出:概念性描述
I/O 简介
I/O
分享到:
评论

相关推荐

    JavaNIO中(英)文书籍

    6. **Java NIO进阶** - **文件系统操作**:FileChannel提供了对文件的直接访问,支持映射内存到文件(MAPPEDByteBuffer)。 - **多线程配合**:NIO可以与线程池结合,以更好地处理并发任务。 - **Java NIO.2**:...

    java程序设计进阶版

    《Java程序设计进阶版》原书第10版是一本深入探讨Java编程技术的权威著作,适合已经掌握基础Java知识的学习者进一步提升技能。这本书以其高清晰度和完整的章节结构,为读者提供了丰富的学习资源,是Java程序员进阶...

    java进阶13天资料.zip

    Java进阶13天资料 day01-复习回顾、静态、继承、引用类型使用 day02-抽象类、接口、代码块,final、单例、枚举 day03-多态、包、权限修饰符、内部类,Object类,Date类 day04-常用API、正则表达式,泛型、Collection...

    Java进阶学习资料.zip

    4. Java IO/NIO:理解流的概念,掌握InputStream、OutputStream、Reader、Writer等基本IO操作,进一步学习NIO(New IO)非阻塞I/O模型,提高系统性能。 5.反射机制:学习并利用反射进行运行时类型检查、动态调用...

    java进阶篇主要内容的PPT

    **Java进阶篇主要内容概述** 本PPT详细阐述了Java进阶学习的关键概念和技术,旨在帮助读者深化对Java编程的理解,提升开发技能。这个资料涵盖了不仅限于教科书的知识,确保你能够掌握到实际工作中可能遇到的实用...

    《Java NIO》Download Url

    《Java NIO》这本书主要探讨的是Java的非阻塞I/O模型,它是Java标准库提供的一种...理解并熟练运用NIO,是每个Java开发者进阶的必经之路。通过阅读《Java NIO》这本书,你可以系统地学习这一领域,提升自己的技术水平。

    02-java语言进阶源码

    【Java语言进阶源码解析】 Java是一种广泛使用的高级编程语言,以其跨平台性、安全性以及面向对象的特点深受开发者喜爱。本资料集“02-java语言进阶源码”涵盖了多个关键主题,旨在帮助开发者深入理解Java的核心...

    Java进阶.zip

    "Java进阶"这个主题涵盖了Java开发中的高级概念和技术,旨在帮助程序员深入理解Java的精髓,提升开发技能。SunJava.pdf可能包含的是由Sun Microsystems(Java的原始开发者)发布的官方文档或教程。 1. **内存管理与...

    Java 工程师进阶知识完全扫盲

    《Java工程师进阶知识完全扫盲》是一份全面的学习资源,旨在帮助Java开发者深化技能,提升职业素养。这个学习资源的目录广泛而深入,涵盖了Java技术的各个方面,为那些希望在Java开发领域取得突破的工程师提供了宝贵...

    Thinking in Java(第四版) java的进阶 中文版 pdf

    同时,书中也涉及了I/O流和NIO(非阻塞I/O),帮助开发者理解和利用Java的输入输出能力。 并发编程是现代软件开发中的重要课题。《Thinking in Java》第四版详细阐述了线程和同步机制,包括线程的创建、同步原语...

    java面试进阶讲义

    ### Java面试进阶讲义知识点总结 #### 一、Java语言拾遗 ##### 1、Vector与ArrayList - **起源与版本**:`Vector` 类自 JDK 1.0 就已存在,从 Java 2 平台 v1.2 开始进行了改进,实现了 `List` 接口,使其成为 ...

    Java NIO 国外 PPT 课件(精华)

    最后,`Java_NIO.ppt`很可能是整个NIO主题的综合教程,覆盖了从基础到进阶的所有内容,包括基本的读写操作、多路复用、内存映射文件(MappedByteBuffer)以及NIO在Socket通信中的应用等。 总的来说,这些PPT课件构成...

    java进阶篇课后编程习题答案

    "Java进阶篇课后编程习题答案"提供了针对Java高级概念的练习题解答,旨在帮助学习者深入理解Java语言的核心特性,提升编程技能。下面将详细阐述Java进阶中的关键知识点,并结合课后习题可能涉及的内容进行解析。 1....

    Java NIO 中文

    Java NIO,全称为Non-Blocking Input/Output(非阻塞输入/输出),是Java从1.4版本开始引入的一种新的I/O模型,用于替代传统的Java IO(BIO)模型。...因此,深入学习和实践Java NIO是每个Java程序员进阶的必经之路。

    02-Java语言进阶_javase_

    Java语言进阶_javase_这部分的学习涵盖了Java标准版(Java SE)的高级特性,主要集中在类、流、文件操作和数据结构等多个方面。以下是对这些主题的详细解释: 1. **Object类**:所有Java类都直接或间接继承自Object...

    Java基础和Java进阶

    NIO(New IO)是Java的另一个IO模型,提供非阻塞I/O和通道的概念,提高了I/O性能。 六、网络编程 Java的网络编程主要涉及`Socket`和`ServerSocket`类,它们分别用于客户端和服务端通信。`Socket`代表网络连接,`...

    Java进阶编程(经典网帖合集)

    8. **IO/NIO/BIO**:理解Java的输入输出系统,包括流的概念,以及NIO(非阻塞I/O)的使用,能提高程序的I/O效率。 9. **网络编程**:Java的Socket编程是实现网络通信的基础,理解TCP/IP协议,以及如何使用...

    基于Java NIO实现五子棋游戏.zip

    总的来说,"基于Java NIO实现五子棋游戏.zip"这个项目结合了Java的基础知识,如面向对象设计、枚举、数组,以及进阶的NIO技术,展示了如何利用这些知识创建一个互动性强、响应迅速的棋类游戏。对于学习Java NIO和...

    Java进阶基础.zip

    理解流的管道模型以及NIO(New IO)和NIO.2(Java 7引入的Channel和Selector)可以提高读写效率。 5. **反射API**:Java反射允许在运行时检查和操作类、接口、字段和方法。这对于创建动态、灵活的代码,比如在不...

    Java语言程序设计.进阶篇.原书第10版

    这本书详细讲解了Java的高级特性和应用,是Java程序员进阶学习的理想教材。 在Java语言中,进阶篇通常涵盖以下关键知识点: 1. **多线程编程**:Java提供了内置的多线程支持,允许程序同时执行多个任务。书中会...

Global site tag (gtag.js) - Google Analytics