美文网首页
小记tomcat三种运行模式

小记tomcat三种运行模式

作者: yellow_han | 来源:发表于2018-09-12 08:50 被阅读0次

    一、Connector有bio、nio、apr三种运行模式

    1、Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理。可通过线程池机制改善。
    2、Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。
    3、Java AIO(NIO.2) : 异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS(操作系统)先完成了再通知服务器应用去启动线程进行处理。

    BIO:

    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    

    BIO缺点:
    当客户端多时,会创建大量的处理线程。每个线程都要占用栈空间和一些CPU时间。
    阻塞可能带来频繁的上下文切换,而大部分的上下文切换是无意义的。
    就一般而言,BIO模式是三种运行模式中性能最低的一种。

    NIO:

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    

    NIO的工作原理包括:
    1.由一个专门的线程来处理所有的 I/O 事件、并负责分发。
    2.事件驱动机制,而不再同步地去监视事件。
    3.线程之间通过 wait,notify 等方式通讯。保证每次上下文切换都是有意义的,减少无谓的线程切换。

    APR:apr(Apache portable Run-time libraries/Apache可移植运行库)是Apache HTTP服务器的支持库。

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
                    connectionTimeout="20000"
                    redirectPort="8443" />
    

    tomcat apr配置方法:https://www.cnblogs.com/freeweb/p/6430053.html

    相关文章

      网友评论

          本文标题:小记tomcat三种运行模式

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