![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
技术人爱思考
积善成德,而神明自得,圣心备焉。
展开
-
Tomcat8.5.23 ApplicationFilterChain源码分析(职责链模式)
一、前言因为在前一篇文章中分析JavaWeb项目切入点时提到了一种从Filter入手的思路,所以本文来探究一下多个Filter之间究竟是怎么组织、运行的。二、正文1. 首次运行(1)引入依赖(2)关联程序的配置(3)编译构建a)IDE构建b)Maven构建2. 分析源码切入点(1)JavaWeb项目的切入点(以SpringBoot项目为例)a)由URL路由入手b)由Filt...原创 2018-10-25 05:12:13 · 3924 阅读 · 3 评论 -
Tomcat8.5.23中ApplicationFilterChain对象的线程安全性分析
一、前言在前一篇文章中分析ApplicationFilterChain的源码时遗留了线程安全问题未能彻底理解,因此有了本文,来彻底研究下filterChain对象的线程安全是如何保证的。二、正文1. 源码的运行流程分析(1)ApplicationFilterChain对象的特点与创建特点:经过一路代码跟踪发现,每一个url匹配模式对应于一个ApplicationFilterChain对象...原创 2018-10-28 02:22:25 · 1590 阅读 · 1 评论 -
JavaWeb项目分析系列(一)-从首次运行到源码切入点
一、前言最近开始研究一些优秀的JavaWeb开源项目,由于自己是新手,以前遇到开源项目时也处理得不是太好,往往浪费很多时间,希望在本次研究的过程中总结出一套方法论来,因此有了这一系列文章。二、正文首次运行拿到一个开源项目,第一步要做的一定是把它跑起来,而这个过程又包含了以下几个小步骤,只有全部搞定后项目才能正常运行。(1)引入依赖大多数Java项目采用Maven管理依赖,需要我们在计...原创 2018-10-24 13:53:33 · 2684 阅读 · 0 评论 -
Tomcat8.5.23中StandardWrapper容器对Servlet实例的多线程池化复用机制分析
一、前言在前一篇文章中分析filterChain的线程安全问题时讲到了真正需要考虑线程安全问题与复用的场景是Request与Servlet的实例,本文重点分析一下Servlet实例的线程安全问题与池化复用机制。二、正文1. 什么情况下Servlet实例会发生线程安全问题?直接给答案:(1)多个线程尝试同时修改(未做synchronized/lock/condition等同步处理)同一个实...原创 2018-10-31 22:56:16 · 465 阅读 · 0 评论