Tomcat
文章平均质量分 79
莫失莫忘hh
保持学习,保持充实
展开
-
Tomcat(五)网络连接器-AprEndPoint
一、什么是APRAPR(Apache Portable Runtime Libraries)是 Apache 可移植运行时库,它是用 C 语言实现的,其目的是向上层应用程序提供一个跨平台的操作系统接口库。Tomcat 可以用它来处理包括文件和网络 I/O二、AprEndPointAprEndPonit与NioEndPoint类似,都是实现了非阻塞的I/O,但是区别就是aprEndPoint是通过调用JNI调用本地的库实现非阻塞IO的。本地库是使用C语言编写,当频繁的IO操作时,效率会高于java语原创 2022-05-22 21:38:23 · 362 阅读 · 0 评论 -
Tomcat(四)网络连接器-Nio2EndPoint
一、异步IO异步最大的特点是,应用程序不需自己去触发,数据从内核空间叫用户空间的拷贝。应用程序是无法主动访问内核空间的。那么有两种处理方式,有两种方式:**1、内核主动拷贝数据到应用程序中 **2、等待应用程序通过 Selector 来查询,当数据就绪后,应用程序再发起一个 read 调用,这时内核再把数据从内核空间拷贝到用户空间。数据准备好后,数据从内核拷贝到用户空间的这一段时间,应用程序还是阻塞的。二、异步IO与同步IO的区别**异步IO:**通过注册的回调函数,内核会主动通知数据。原创 2022-05-22 21:36:32 · 347 阅读 · 0 评论 -
Tomcat(三)网络连接器-NioEndPoint
EndPoint的主要作用就是进行网络连接一、IO模型所谓I/O 其实就是内存与外部设备拷贝数据的过程网络IO通信过程:对于一个网络I/O通信过程,比如网络数据的读取,会涉及两个对象。一个是调用这个IO操作的用户线程,另一个就是操作系统内核。 当发生IO操作时,网络数据读取会经历两个步骤:用户线程等待将数据从网卡拷贝到内核空间,内核将数据从内核空间拷贝到用户空间各种 I/O 模型的区别就是:它们实现这两个步骤的方式是不一样的。有5种IO模型:同步阻塞IO, 同步非阻塞IO, IO多.原创 2022-05-22 21:34:57 · 610 阅读 · 0 评论 -
Tomcat(二) 启动流程
一、Tomcat请求流程组件是如何创建,初始化,销毁的呢,管理他们的生命周期是一个很关键的问题?如何实现一键启动?答:tomcat的核心组件都抽象出公共的部分 lifecycle接口其中定义了:init()、start()、stop() 和 destroy()这么几个核心方法;在父组件中创建的时候需要调用子组件的init方法。所以只要调用顶层的 Service的init方法,整个tomcat就启动了。这是lifecyle的模版方法 @Override public final sync.原创 2022-05-21 17:57:15 · 264 阅读 · 0 评论 -
Tomcat(一) 系统架构
一、Tomcat系统架构-连接器tomcat设计了两个核心组件:连接器Connector, 容器Container;连接负责对外交流,容器负责内部处理;连接器的基本功能:1、监听网络端口2、接收网络请求连接3、将请求解析转换为 Tomcat Request 对象4、将Tomcat Request 转换为 Servlet Request**5、调用Servlet 获得 Servlet Response **6、将获得的结果转换,响应返回给前端根据上述功能,Tomcat 就把它抽象成了三个.原创 2022-05-21 17:56:08 · 337 阅读 · 0 评论