tomcat NIO主要涉及的java类有哪些


这篇文章将为大家详细讲解有关tomcat NIO主要涉及的java类有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们可以把 tomcat NIO涉及的主要 java 类大致分为两种类型,一种类型是框架类,主要实现 NIO 的架构。另一种类型是数 香港云主机据处理类,实现读写的封装,类似于 Request 和 Response ,在这里我们主要介绍 tomcat NIO 涉及的框架类,下图展示了这些类:顶层类是 Connector 类型,主要负责用来初始化具体应用协议的处理类 ProtocolHandler 。应用协议包括 http 协议,http/1.1 版本,http/1.0 版本。AJP 协议,AJP/1.3 版本。AbstractEndpoint 类是属于 Http11NioProtocol 类,其主要用来处理底层 socket 的连接,对于 tomcat NIO 的实现类来说是 NioEndpoint 。Poller 类属于 NioEndpoint ,主要监测epoll 模型里注册原始 socket 上的读写事件是否发生。NioSelectorPool 类属于 NioEndpoint ,当数据需要多次读写的时候,监测注册在原始 socket 上的读写事件是否发生。NioBlockingSelector 类属于 NioSelectorPool 类,对于监测注册在原始 scoket 上的读写事件,delegate 给 NioBlockingSelector 处理。
BlockPoller类属于 NioBlockingSelector类,实现具体的监测读写事件的逻辑。SocketWrapper 类封装了原始 socket ,提供封装的 socket 读写操作。
Http11Processor,该类由 ConnectionHandler 实例调用,会把接收到的 SocketWrapper 封装成 tomcat 的 Request 和 Response 对象。CoyoteAdapter,该类负责把 Http11Processor 封装的 tomcat Request 和 Response 对象给转换成 HttpServletRequest/HttpServletResponse 对象,并完成对 servlet API 的调用。ConnectionHandler 实例中有一个 Map 类型的对象,key 为SocketWrapper 类型,value 为 Http11Processor 类型。也就是说为每一个连接都分配了处理类 Http11Processor ,可以保存连接的状态信息。关于“tomcat NIO主要涉及的java类有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

相关推荐: git的stash命令怎么应用

这篇文章主要讲解了“git的stash命令怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git的stash命令怎么应用”吧!首先要明白为什么在 Git 中暂存变更很重要。假设 Git 没有暂存变更的命令…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/17 18:58
下一篇 08/17 18:58

相关推荐