`

JDK7新特性之AIO

 
阅读更多

 

JDK7中新加入的文件和网络io特性称为nio2(new io 2, 因为jdk1.4中已经有过一个nio了),包含了众多性能和功能上的改进,其中最重要的部分,就是对异步io的支持,称为java aio(asynchronous IO)。

 

jdk在1.4版本的nio中提供了对非阻塞多路复用同步io模型的支持,但是在Windows上是基于较低效select/poll实现的。jdk1.7中提供对aio的支持后,带来了两方面的好处:

 

1. Windows上可以使用iocp了。

 

2. 简化了网络变成模型。异步io相比较非阻塞多路复用模型更易理解,开发更为简单。

 

和多路复用的java nio相比较,可以发现,异步io是在数据读取或者写入调用已经完成的时候,再通知调用者,而非阻塞多路复用io则是在有数据就绪,可以读写的时候通知调用者,读写仍然是由调用者执行并且是阻塞的(这意味着如果要同时进行其他工作,要控制读写操作不能阻塞太长时间或者需要将其放去单独的io线程执行)。

 

JDK7中的java aio新增的类和接口主要有:

 

AsynchronousServerSocketChannel ,对应于bio中的ServerSocket和nio中的ServerSocketChannel,用于server端的网络程序。

 

AsynchronousSocketChannel,对云关于bio中的Socket和nio中的SocketChannel,用于client端的网络程序。

 

CompletionHandler,回调接口,在socket进行accept/connect/read/write等操作时,可以传入一个CompletionHandler的实现,操作执行完毕后,会调用注册的CompletionHandler。

 

除了CompletionHandler这种回调方式,aio中还支持返回Future对象,使用Future来设定回调操作。

分享到:
评论
2 楼 zht666 2013-03-13  
要是有个简单的例子就好了
1 楼 zht666 2013-03-13  
引用
sasdasd

相关推荐

    JDK7新特性(完整篇)

    1.1 JDK7新特性<一>概述 . . . . . . . . . ....1.2 JDK7新特性<二> 语法 ....1.3 JDK7新特性<三> JDBC4.1 ....1.4 JDK7新特性<四> NIO2.0 文件系统 ....1.5 JDK7新特性<五> fork/...1.8 JDK7新特性<八>异步io/AIO . . . . . . . .

    jdk8新特性

    jdk8新特性,百度云盘。jdk8新特性,百度云盘。jdk8新特性,百度云盘。

    JDK8新特性(pdf版)

    JDK8新特性(pdf版)

    jdk5.0新特性

    jdk5.0新特性介绍

    jdk7最新特性-trywresources

    jdk7最新特性trywresources

    jdk7新特性

    jdk7新特性希望大几可以通过这个文档了解jdk的新特性

    JDK1.5新特性

    JDK1.5新特性

    jdk8新特性.md

    jdk8新特性.md

    JDK1.6新特性与实战例子

    JDK6的新特性之一:Desktop类和SystemTray类 JDK6的新特性之二:使用JAXB2来实现对象与XML之间的映射 JDK6的新特性之三:理解StAX StAX(JSR 173)是JDK6.0中除了DOM和SAX之外的又一种处理XML文档的API JDK6的新特性...

    jdk1.5新特性

    转载 jdk1.5的一些新特性,希望能帮助大家!

    JDK7新特性 doc中文文档

    这份资料是JDK7新特性的doc中文文档,值得参考~~

    JDK8新特性

    根据尚硅谷JDK8的课程讲解,深入理解后整理而出的JDK8笔记手册。可以从入门到精通的掌握JDK8新特性

    jdk1.8新特性.doc

    本文主要介绍了JDK1.8版本中的一些新特性,仅供参考。 jdk1.8新特性知识点: 1、Lambda表达式 2、函数式接口 3、方法引用和构造器调用 4、Stream API 5、接口中的默认方法和静态方法 6、新时间日期API

    jdk8新特性例子

    Jdk8新特性例子,内容包含 接口默认方法, 函数引用, java.util.stream api 和java.time api map的新增方法等。例子采用记事本编写,下载者需自行下载jdk8安装并配置好环境,编译(javac)运行(java)

    尚硅谷JDK1.8 新特性 培训PPT

    视频教程地址:http://www.gulixueyuan.com/course/56

    jdk1.8新特性

    JDK1.8新特性简介剖析,仅做参考,希望大家相互学习 作为Comparator 和Runnable早期的证明,在JDK中已经定义的接口恰巧作为函数接口而与lambdas表达式兼容。同样方式可以在你自己的代码中定义任何函数接口或第三方...

    jdk9新特性的一些示例代码

    jdk9新特性的一些示例代码,里面包含了jdk9新特性方方面面的案例代码,帮您全面连接jdk9的新特性

    JDK6的新特性

    JDK6的新特性JDK6的新特性

    jdk8新特性以及代码示例

    jdk8新特性,有兴趣的同学可以下载看看

Global site tag (gtag.js) - Google Analytics