`

Java NIO API

    博客分类:
  • java
阅读更多

http://www.blogjava.net/19851985lili/articles/93524.html

 

NIO 详解:

    NIO主要包括两个部分:java.nio.channels包介绍Selector和Channel抽象,java.nio包介绍Buffer抽象。

 

 

http://www.cnblogs.com/phoebus0501/archive/2010/12/05/1897245.html

4) Selector小结

    总的来说,使用Selector的步骤如下:

1、 创建一个Selector实例。

2、 将其注册到各种信道,指定每个信道上感兴趣的I/O操作。

3、 重复执行:

1) 调用一种select方法

2) 获取选取的键列表

3) 对于已选键集中的每个键。

a.  获取信道,并从键中获取附件(如果合适的话)

b.  确定准备就绪的操作并执行。如果是accept操作,将接受的信道设置为非阻塞模式,并将其与选择器注册。

c.  如果需要,修改键的兴趣操作集

d.  从已选键中移除键

如果选择器告诉了你什么时候I/O操作准备就绪,你还需要非阻塞I/O吗?答案是肯定的。信道在已选键集中的键并不能确保非阻塞I/O,因为调用了 select()方法后,键集信息可能会过时。另外,阻塞式写操作会阻塞等待直到写完所有字节,而就绪集中的OP_WRITE仅表示至少有一个字节可写。 实际上,只是非阻塞模式的信道才能与选择器进行注册:如果信道在阻塞模式,SelectableChannel类的register()方法将抛出 IllegalBlockingModeException异常。

分享到:
评论

相关推荐

    Java NIO 中文 Java NIO 中文 Java NIO 中文文档

    Java NIO 深入探讨了 1.4 版的 I/O 新特性,并告诉您如何使用这些特性来极大地提升您所写的 Java 代码的执行效率。这本小册子就程序员所面临的有代表性的 I/O 问题作了详尽阐述,并讲解了 如何才能充分利用新的 I/O ...

    java NIO 视频教程

    Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。 Java NIO: Channels and Buffers(通道和缓冲区) 标准的IO基于字节流和字符流进行操作的,...

    java nio中文版

    java NIO是 java New IO 的简称,在 jdk1.4 里提供的新 api 。 Sun 官方标榜的特性如下: – 为所有的原始类型提供 (Buffer) 缓存支持。 – 字符集编码解码解决方案。 – Channel :一个新的原始 I/O 抽象。 – 支持...

    NIO开发API详解

    详细介绍NIO技术

    JavaNIO_API帮助文档详解

    JavaNIO_API帮助文档详解,对于开发NIO很有帮助

    java.nio API详解

    在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来...

    Java NIO 指南 - v1.0.pdf

    Java NIO(New IO)是一个可以替代标准 Java IO API 的 IO API(从 Java 1.4 开始),Java NIO 提供了与标准 IO 不同的 IO 工作方式。本教程讲解了 Java NIO 的三个核心组件,并介绍了跟核心组件相关的内容,旨在帮助 ...

    Java NIO 英文文字版

    Many serious Java programmers, especially enterprise Java programmers, consider the new I/O API--called NIO for New Input/Output--the most important feature in the 1.4 version of the Java 2 Standard ...

    JAVA_API1.6文档(中文)

    java.nio.channels.spi 用于 java.nio.channels 包的服务提供者类。 java.nio.charset 定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。 java.nio.charset.spi java.nio.charset 包的服务提供...

    java nio.doc

    java.nio.charset 包中定义了字符集 API,java.nio.channels 包中定义了信道和选择器 API。每个子包都具有自己的服务提供程序接口 (SPI) 子包,SPI 子包的内容可用于扩展平台的默认实现或构造替代实现。

    Java NIO中文教程

    Java NIO(New IO)是 Java IO API 的替代方案(从 Java 1.4 开始), 它替代标准的 Java IO 和 Java 网络 API。 Java NIO 提供了与标准 IO 不同的 IO 工作方式。 英文原版由知名的Jenkov编写而成。原文链接:...

    Java 1.6 API 中文 New

    本文档是 Java Platform Standard Edition 6 的 API !Java 1.6 API的中文帮助文档。 深圳电信培训中心徐海蛟博士教学用api中文文档。支持全文检索,在线即时查询。 里面列出了,Java的所有类及其使用方法! Java ...

    Java NIO 中文全书签

    我本人是C程序员,对java比较感兴趣,发现java nio里面很多的东西都是对C原生api的封装,如epoll, mmap等 要是想学习 java nio ,以及 nio 的扩展 netty 会是个不错的选择 sun 本身的实现 不足参考 因为没文档和...

    Java+NIO+(中文版).pdf

    Java NIO深入探讨了1.4版的I/O新特性,并告诉您如何使用这些特性来极大地提升您所写的Java代码的执行效率。这本小册子就程序员所面临的有代表性的I/O问题作了详尽阐述,并讲解了如何才能充分利用新的I/O特性所提供的...

    Netty java高速NIO网络引擎 中文API文档CHM格式

    java高速NIO网络引擎Netty的中文API文档,为了方便查阅,自己做的CHM格式,网上别的地方都是很多html文件,很难看和收藏. 大部分类被翻译.还有一部分不常用的类没有被翻译.不影响学习 学习netty的好帮手.真情推荐

    NIO原生API示例

    NULL 博文链接:https://summerbell.iteye.com/blog/358324

    java.nio demo

    Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK ...

    Java_NIO_API详解

    NIO的Api的详细讲解,非常详细,对方法和参数的作用就解释的非常清楚。

    JavaAPI1.6中文chm文档 part1

    java.nio.channels.spi 用于 java.nio.channels 包的服务提供者类。 java.nio.charset 定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。 java.nio.charset.spi java.nio.charset 包的服务提供...

Global site tag (gtag.js) - Google Analytics