首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Tomcat
订阅
刘少少
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
深入拆解Tomcat&Jetty(十一)
1.用户线程发起read调用后就阻塞了,让出CPU. 用户线程的读取操作分为两部分. 1.创建一个Selector,然后注册各种事件监听,然后调用select()方法,等待事件触发. Executor,任务执行线程池,负责执行SocketProcessor,SocketProc…
深入拆解Tomcat&Jetty(十)
经常谈论的快速迭代和重构,敏捷开发,都是应对需求的快速变化,因此在整个系统设计的时候就要考虑可扩展性.总结Tomcat和Jetty中框架的设计,有助于学习其中的思想. Tomcat和Jetty的整体架构都是基于组件的,可以通过XML文件或者代码的方式配置这些组件,Tomcat通…
深入拆解Tomcat&Jetty(九)
Jetty核心就是三大部分,Connector处理连接,IO,读写数据,Handler处理后续的Servlet请求,线程池管理所有的异步任务. 当Connector将数据包装成Request对象后,会交给Handler进行处理. 接口-抽象类实现接口-具体实现类,这是非常常见的…
深入拆解Tomcat&Jetty(八)
Jetty与Tomcat一样都是HTTP服务器+Servlet容器,Jetty与Tomcat的架构上有很多类似的地方,但是Jetty更为轻量,更容易定制. Jetty主要由多个连接器(Connector),多个处理器(Handler),以及一个线程池组成. Jetty与Tomc…
深入拆解Tomcat&Jetty(七)
2.BootStrap主要任务是初始化Tomcat的类加载器,创建Catalina. 经过这几步Tomcat启动就算完成了. Catalina的关闭Hook中,只是调用了内部的stop方法,最终也是通过Server的stop和destory方法进行资源释放和清理. Server…
深入拆解Tomcat&Jetty(六)
下图是对于Tomcat处理请求内部的流转过程.也描述了Tomcat组件的静态关系. 在Tomcat的启动过程中,每个组件都要经历创建,初始化,启动这几个过程,而这几个状态的转变都是固定的,但是具体组件的初始化逻辑和启动方式都不一样,所以Tomcat把组件的生命周期方法抽象到Li…
深入拆解Tomcat&Jetty(五)
在上文的学习中,已经了解了Tomcat通过连接器(Connector)和容器(Container)对请求进行解析和处理,其中连接器负责对外,容器则是内部处理. 因为Tomcat中每一个Connector都对应不同的端口,Tomcat默认的HTTP连接是8080端口,AJP是80…
深入拆解Tomcat&Jetty(四)
Tomcat为了实现多种IO模型和应用层协议,一个容器内可以对接多个连接器,连接器与容器需要组合起来,形成一个Service对外提供服务.一个Tomcat内也会有多个Service. 4.根据具体应用层协议(HTTP/AJP)解析字节流,生成统一的Tomcat Request对…
深入拆解Tomcat&Jetty(三)
由HTTP请求过程可以知道,HTTP服务器收到请求后,需要调用服务端程序进行处理,所谓的服务端程序就是开发人员编写的Java类,一般来说不同的请求需要由不同的Java类进行处理,而HTTP并不知道要调用哪个Java类的哪个方法,所以就有了Servlet接口. 可以看到Tomca…
深入拆解Tomcat&Jetty(二)
Tomcat和Jetty本身就是一个HTTP服务器+Servlet容器,所以了解HTTP协议是必要前提. 超文本传输协议,是浏览器与服务器之间数据传输协议.是基于TCP/IP协议的应用层协议,用于数据传递(HTML文件,图片,查询结果等).HTTP协议不涉及数据包(Packet…