美文网首页
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