Advertisement

Netty的I/O模型介绍

阅读量:

文章结构概览

  • 一、输入输出模型
    • 二、Java语言所支持的输入输出模型
      • 1、阻塞式IO
      • 2、非阻塞式IO
      • 3、异步IO(即NIO.2)

一、I/O模型分析与应用

I/O模型指的是数据在接收或发送过程中所采用的操作方式。不论是Socket的读写操作,还是文件的读写操作,在Java应用开发或者Linux系统底层开发中,都归属于输入与输出的处理范畴,通常被简称为IO读写。尽管这些模型在基本原理和处理流程方面保持一致,但由于操作系统特性或应用层的具体需求差异,其具体实现方式可能会有所区别。

二、Java支持的IO模型

1、BIO

同步并阻塞的服务器实现模式采用了一对一线程对应连接的方式,即每当客户端发出连接请求时,服务器端必须启动一个线程来处理该请求。若该连接未进行有效操作,将导致线程资源的浪费(在执行I/O操作过程中,若数据尚未就绪,线程将处于等待状态直至数据完成加载)。

不过,Java BIO模式也存在一定的局限性。由于每个连接都需要独立的线程支持,随着连接数量的增长,系统中运行的线程数量也会随之快速上升,从而造成资源占用率显著增加。尤其是在面对大量并发连接的情况下,可能引发线程数量激增的问题,并最终形成性能瓶颈。因此,Java BIO更适合应用于连接数量较少且相对固定的

全部评论 (0)

还没有任何评论哟~