美文网首页
NIO学习-1 概述

NIO学习-1 概述

作者: 咪雅先森 | 来源:发表于2019-11-16 00:17 被阅读0次

服务器实现模式为一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。

Java NIO(Non-blocking / New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。

NIO 和 IO 的区别

NIO 和 IO 的区别在于,IO 是面向流,NIO 是面向缓存。
是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,
成为解决高并发与大量连接、I/O处理问题的有效方式。

传统面向流的,单向的。

三个核心组件

Channels
Buffers
Selectors

1.Channels 负责传输

白话: 就是数据传输用的通道。作用是打开到IO设备的连接,文件、套接字都行。
绕绕话:   标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。

2.Buffers 负责存储

缓冲区,用来存放具体要被传输的数据,比如文件、scoket 等。这里将数据装入 Buffers 再通过通道进行传输。

3.Selector

负责监听事件和选择对应事件的渠道。

相关文章

网友评论

      本文标题:NIO学习-1 概述

      本文链接:https://www.haomeiwen.com/subject/kmueictx.html