美文网首页
Tomcat-BIO与NIO的区别

Tomcat-BIO与NIO的区别

作者: 奇怪的上单 | 来源:发表于2018-11-17 23:07 被阅读0次

Tomcat的HTTP连接器

介绍

HTTP连接器元件代表一个 连接器支持HTTP / 1.1协议组件。除了能够执行servlet和JSP页面之外,它还使Catalina能够作为独立的Web服务器运行。此组件的特定实例侦听服务器上特定TCP端口号上的连接。可以将一个或多个此类连接器配置为单个服务的一部分,每个连接都转发到关联的引擎以执行请求处理并创建响应。

每个传入请求在该请求期间都需要一个线程。如果接收到的并发请求多于当前可用的请求处理线程可以处理的请求,则将创建其他线程,直到达到配置的最大值(maxThreads属性的值)。如果收到更多并发请求,它们将堆叠在由Connector创建的服务器套接字内,最多为配置的最大值(acceptCount 属性值)。任何进一步的同时请求将收到“连接被拒绝”错误,直到资源可用于处理它们。

IO模型

BIO:同步阻塞(一个连接一个线程)

NIO/NIO2 :同步非阻塞(一个线程处理多个请求,多路复用;比如在redis的处理连接的实现)

连接器比较

8.0

7.0

总结:通过以上的对比,NIO只在某些特定的环节中是不阻塞的,比如说处理请求头以及等待下一次请求的时候;因此个人觉得在某些场景下,如果只是调整连接器,那么性能不会有太大的变化。[具体的Tomcat优化的相关内容我会在后续的文章中更新]

结语

以上,个人的理解希望可以帮助大家能够更好的理解Tomcat的IO模型,以及在面试中可以更好的回答两者的区别。

相关文章

  • Tomcat-BIO与NIO的区别

    Tomcat的HTTP连接器 介绍 HTTP连接器元件代表一个 连接器支持HTTP / 1.1协议组件。除了能够执...

  • java NIO详解

    NIO原理 NIO与IO的区别 首先来讲一下传统的IO和NIO的区别,传统的IO又称BIO,即阻塞式IO,NIO就...

  • 4.Netty框架-网络IO编程模板(NIO编程模型)

    一、什么是NIO? 与BIO有哪些区别? 1.什么是NIO? 1、NIO = Selector+Channel...

  • 18道IO常问面试题,题题惊险!

    大厂招聘IO常问面试题 NIO与IO的区别 NIO和IO适用场景 BIO, NIO, AIO有什么区别,分别是什么...

  • Java之NIO(非阻塞IO)

    【1】NIO的与IO的区别: 总的来说java 中的IO 和NIO的区别主要有3点:1)IO是面向流的,NIO是面...

  • NIO简介

    BIO与NIO的区别 NIO 和 BIO 的区别主要体现在三个方面: NIOBIO基于缓冲区( Buffer )基...

  • NIO高级编程与Netty入门(第十天)

    BIO与NIO IO(BIO)和NIO区别:其本质就是阻塞和非阻塞的区别 阻塞概念:应用程序在获取网络数据的时候,...

  • Java NIO

    1、IO和NIO的区别? 1)IO面向流、NIO面向缓冲;2)IO是阻塞IO、NIO是非阻塞IO;3)无 与 选择...

  • 29、 Java IO与 NIO的区别(补充)

    Java IO与 NIO的区别(补充) NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同...

  • NIO详解

    1、BIO与NIO IO(BIO)和NIO区别:其本质就是阻塞和非阻塞的区别 阻塞概念:应用程序在获取网络数据的时...

网友评论

      本文标题:Tomcat-BIO与NIO的区别

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