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

java nio的实现原理

时间:2017-12-25 15:04:36      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:需要   文件   noi   key   thread   硬件   java nio   连接   channels   

1 什么是java nio

java nio就是java非阻塞io。

2 什么是channel

channel是到打开的文件的连接,只要是支持读写操作的实体都可以称为文件,文件可以是硬件设备、文件和网络套接字等。

3 多路复用非阻塞IO的实现原理

3.1 Selector、selection keys和selectable channels一起来实现多路复用非阻塞IO。

3.2 什么是多路复用

多路指的是多个channel、复用指的是多个channel复用一个线程来进行数据的读写。

3.3 什么非阻塞IO

指的是被复用的线程是不会阻塞的,只要有chanel有数据,它就一直在工作,除非所有的路都没有数据。

3.4 Selector的背后的实现原理

4 noi buffers

为什么要弄这么多的nio buffer?nio buffer有什么用?

在进行标准io的时候因为只有一个chanel在用这个thread,因此不需要buffer,但是多个chanel复用的话,就会存在等待的chanel,这样的话,有一个buffer缓存一下,处理上会更加方便。

 

java nio的实现原理

标签:需要   文件   noi   key   thread   硬件   java nio   连接   channels   

原文地址:http://www.cnblogs.com/hustdc/p/8097622.html

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