
【Tomcat架构&源码&调优】
Tomcat架构解读&源码分析&实战调优
小小工匠
show me the code ,change the world
展开
-
Tomcat - 模拟Tomcat的webappClassLoader加载自己war包应用内不同版本类实现相互共存与隔离
文章目录PreTomcat要解决什么问题?Tomcat违反了双亲委派机制?模拟Tomcat的webappClassLoader加载自己war包应用内不同版本类实现相互共存与隔离Tomcat加载机制小结PreTomcat - 都说Tomcat违背了双亲委派机制,到底对不对?JVM-白话聊一聊JVM类加载和双亲委派机制源码解析JVM - 实现自定义的ClassLoader就是这么简单Tomcat要解决什么问题?作为一个Web容器,Tomcat要解决什么问题 , Tomcat 如果使用默认的双亲委原创 2020-06-13 10:07:06 · 15629 阅读 · 0 评论 -
Tomcat - 都说Tomcat违背了双亲委派机制,到底对不对?
文章目录类加载的本质jvm里ClassLoader的层次结构BootstrapClassLoader(启动类加载器)ExtensionClassLoaderAppClassLoaderTomcat的 类加载顺序常见错误NoClassDefFoundErrorNoSuchMethodErrorClassCastException类加载的本质ClassLoader是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式的 Class 对象。字节码可以来自于磁盘文件 *.class,原创 2020-06-04 00:38:37 · 16850 阅读 · 1 评论 -
Tomcat - Tomcat 网络通信模型剖析 & 并发参数解读
文章目录什么是IOTomcat 支持四种线程模型Tomcat 如何使用指定IO模型什么是IOIO是指为数据传输所提供的输入输出流,其输入输出对象可以是:文件、网络服务、内存等。举个例子,假设应用在从硬盘中读取一个大文件过程中, CPU会与硬盘一样出于高负荷状态么?CPU 没有太高的增涨 。 通常情况下IO操作是比较耗时的,所以为了高效的使用硬件,应用程序可以用一个专门线程进行IO操作,而另外一个线程则利用CPU的空闲去做其它计算。这种为提高应用执行效率而采用的IO操作方法即为IO模型。To原创 2020-06-03 14:03:10 · 15642 阅读 · 0 评论 -
Tomcat - 你该知道的Tomcat生产环境部署
文章目录PreTomcat 各组件及关系server.xml 配置详解serverserviceconnectorPreTomcat Version : 8.5+我们先回顾下 前几节学习的的tomcat的功能及架构Tomcat是一个基于JAVA的WEB容器,其实现了JAVA EE中的 Servlet 与 jsp 规范,与Nginx apache 服务器不同在于一般用于动态请求处理。在架构设计上采用面向组件的方式设计, 即整体功能是通过组件的方式拼装完成。Tomcat 各组件及关系原创 2020-06-03 00:49:42 · 15844 阅读 · 0 评论 -
Tomcat - 源码分析Tomcat是如何处理一个Servlet请求的
文章目录Tomcat中的NIO模型Tomcat中的NIO模型Tomcat 8.5.55原创 2020-06-01 21:44:03 · 14772 阅读 · 0 评论 -
Tomcat - Tomcat 8.5.55 启动过程源码分析阶段三_start阶段
文章目录启动流程分析Pre启动流程分析PreTomcat - Tomcat 8.5.55 启动过程源码分析阶段二_load加载初始化说完了load阶段,这里我们继续来看下最后一个start阶段原创 2020-05-31 16:34:06 · 14953 阅读 · 0 评论 -
Tomcat - Tomcat 8.5.55 启动过程源码分析阶段二_load加载初始化
文章目录启动流程分析Preload 加载初始化总体预览源码解析启动流程分析PreTomcat - Tomcat 8.5.55 启动过程源码分析阶段一_init实例化Bootstrap我们分析了 init 的主要功能,实例化Bootstrap , 调用init 通过反射调用Catalina#setParentClassLoader ,后面调用的load 和 start方法 均为 反射调用的Catalina对象的load和start 方法。load 加载初始化总体预览源码解析原创 2020-05-30 13:57:40 · 15097 阅读 · 0 评论 -
Tomcat - Tomcat 8.5.55 启动过程源码分析阶段一_init实例化Bootstrap
文章目录Pre生命周期统一管理组件LifeCyclePre上篇我们搭建了tomcat的源码环境: Tomcat - 源码构建Tomcat 8.5.55 启动接下来我们来分析一下tomcat的启动过程。回忆一下 tomcat的架构图Tomcat启动的时候肯定要把架构中提到的组件进行实例化(实例化创建–>销毁等:生命周期)。Tomcat中那么多组件,为了统一规范他们的生命周期,Tomcat抽象出了LifeCycle生命周期接口 。生命周期统一管理组件LifeCycle查看Li原创 2020-05-28 15:19:39 · 14874 阅读 · 0 评论 -
Tomcat - 源码构建Tomcat 8.5.55 启动
文章目录官方地址源码搭建分析源码搭建步骤官方地址https://tomcat.apache.org/download-80.cgi历史版本:https://archive.apache.org/dist/tomcat/tomcat-8/这里最新的是 8.5.55 ,我们就用这个吧得到 apache-tomcat-8.5.55-src.zip源码搭建分析我们在使用tomcat时,俩目录 conf 和 webapps 是不是经常需要修改?一个负责tomcat的配置文件信息,一个负原创 2020-05-28 10:29:02 · 15982 阅读 · 7 评论 -
Tomcat - Tomcat套娃式架构与配置文件的对应关系解读
server-service-----connector/container-----engine-----host-----context-----wrapper原创 2020-05-26 06:58:31 · 15092 阅读 · 0 评论 -
Tomcat - Tomcat的套娃式架构设计初探
文章目录Tomcat的主要功能Tomcat的架构初探Tomcat的主要功能核心功能: http服务器和servlet 容器Http服务器功能 : Socket通信(TCP/IP)、解析HTTP报文Servlet容器功能 : 实现了Servlet规范 , 有多个Servlet(自带Servlet + 自定义Servlet),Servlet处理具体的业务Tomcat的架构初探刚才说了tomcat核心功能有两个 : http服务器和Servlet 容器。 那tomcat为了实现原创 2020-05-24 23:44:57 · 15268 阅读 · 0 评论