码迷,mamicode.com
首页 > 编程语言 > 详细

java中的NIO基础

时间:2017-04-24 10:15:28      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:选择   sel   selector   哪些   soc   socket   使用   思想   pen   

在jdk1.4中,加入了一个新的包,java.nio.*,这个包引入了新的javaI/O库,目的是为了提高速度,实际上,旧的I/O包也使用nio重新实现过。

相对于io,nio中的这个n代表什么呢?《java编程思想》直接把小标题取名为"新I/O",另一种说法是Non-blocking的首字母,不管怎样,nio也确实是一种新的处理非阻塞的IO。

NIO的几个核心组成部分:Chennels(通道),Buffers(缓存),Selectors(选择器)。

我们可以把通道(Channel)想是一个装满水的大水缸,而缓存(Buffer)则是水桶,水桶可以装满水运送到别的地方,我们没有与水缸有直接接触,都是通过水桶(Buffer)直接交互。为了更快的运送更多的水,我们可以使用多个水桶,并可以选择(Selector)哪些水桶怎么装水,当然我们不仅可以从水缸里通过水桶取水还可以送水到水缸里。

java中主要的Channel实现:

FileChannel:用于文件IO,可以通过FileInputStream,FileOutputStream,RandomAccessFile对象的getChannel()获取文件通道。
DatagramChannel:是一个能收发UDP包的通道。使用DatagramChannel.open()打开通道。
SocketChannel:是一个连接到TCP网络套接字的通道。使用SocketChannel.open()获取。
ServerSocketChannel:是一个针对面向流的侦听套接字的可选择通道,使用ServerSocketChannel.open()获取。

java中的NIO基础

标签:选择   sel   selector   哪些   soc   socket   使用   思想   pen   

原文地址:http://www.cnblogs.com/Hays4Blog/p/6747480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!