- 博客(8)
- 收藏
- 关注
原创 Tomcat源码走读 07-tomcat处理请求
07-tomcat处理请求在上一章06-tomcat的容器启动过程中,我们知道了处理请求的逻辑在Accptor里面。本章我们直接从这里往后描述。1. JIoEndpoint.processSocket()protected boolean processSocket(Socket socket) { try { SocketWrapper<Soc...
2019-07-28 16:55:06 230
原创 Tomcat源码走读 06-tomcat的容器启动过程
06-tomcat的容器启动过程在02-tomcat的启动和关闭流程中,在容器初始化之后,Catalina.start()方法会触发容器的启动流程。public void start() { try { getServer().start(); } catch (LifecycleException e) { } ...
2019-07-28 16:50:26 289
原创 Tomcat源码走读 05-tomcat的容器初始化过程
05-tomcat的容器初始化过程介绍容器初始化过程之前,让我们先来看下tomcat容器的类继承关系图。Lifecycle:顶级接口:定义了添加,删除,查找生命周期监听器的方法,以及init,stop等。MBeanRegistration:顶级接口,定义一些注册jmx其后的处理方法。LifecycleBase: 成员LifecycleSupport作用是发布生命周期事件。定义了init,...
2019-07-28 16:43:40 239
原创 Tomcat源码走读 04-tomcat的server.xml解析
04-tomcat的server.xml解析tomcat的server.xml的解析依靠的是Digester对象,入口在Catalina.load()中。1.Digester digester = createStartDigester();protected Digester createStartDigester() { Digester digester = new D...
2019-07-28 16:37:01 215
原创 Tomcat源码走读 03-tomcat的类加载器
03-tomcat的类加载器tomcat类加载器结构图:1)bootstrap ClassLoader:它用来加载 Java 的核心类,是用原生代码来实现的,并不继承自 java.lang.ClassLoader,负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类。2)extension ClassLoader:它负责...
2019-07-28 16:31:46 267
原创 Tomcat源码走读 02-tomcat的启动和关闭流程
02-tomcat的启动和关闭流程本套代码走读基于tomcat7.0的源码,分析之前,先下载tomcat源码,导入ide。可以参考https://blog.csdn.net/z583773315/article/details/56353311我们平时使用tomcat启动都是使用startup.bat或startup.sh脚本,所以要分析启动流程可以先看下这个脚本。以start.bat为类:...
2019-07-28 16:27:09 248
原创 Tomcat源码走读 01-tomcat架构简介
01-tomcat架构简介总体架构:面向组件架构基于JMX事件侦听1)面向组件架构tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server、Service、Connector等,并基于JMX管理这些组件,另外实现以上接口的组件也实现了生命周期接口Lifecycle,使其组件履行固定的生存期,在其整个生存期的过程中通过事件侦听LifecycleEven...
2019-07-28 16:21:29 181
原创 Mysql Oracle java 通用aes加密
Mysql,Oracle,java 通用aes加密有时候项目需要适配mysql,oracle,java通用的加密,需要三者加解密可以通用,对于mysql和java比较好适配,主要是oracle,经过一番摸索总算完成了,记录一下。mysql版本:oracle版本:java版本:有时候项目需要适配mysql,oracle,java通用的加密,需要三者加解密可以通用,对于mysql和java比较好适配...
2019-07-26 19:51:27 1451
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人