自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 问答 (1)
  • 收藏
  • 关注

原创 Tomcat源码五部曲(四)、类加载器

在Tomcat中提供了三个基础的类加载器和Web应用类加载器,如下图,绿色是JDK本身类加载器,蓝色则为Tomcat定义的类加载器,这三个类加载器指向的路径和包列表可以由catalina.properties配置,此文件位于Tomcat_Home/conf下。Common他以System为父类加载器,是用于加载Tomcat应用服务器顶层的公用类加载器,其路径为common.loader,默认...

2020-04-28 09:19:49 226

原创 并发ScheduledThreadPoolExecutor源码分析

ScheduledThreadPoolExecutor是一个可以在指定一定延时时间后或者定时进行任务调度的线程池,ScheduledThreadPoolExecutor继承了ThreadPoolExecutor并实现了ScheduledExecutorService接口。线程池的队列是DelayedWorkQueue(他是ScheduledThreadPoolExecutor的一个内部类)。还...

2020-04-27 14:28:16 232

原创 Guava与RateLimiter限流

什么是Guava?Guava是Google的一组核心Java库,提供了很多设计精良、使用方便的工具类,它广泛用于Google的大多数Java项目中,也被许多其他公司广泛使用。其中就包含一款限流工具RateLimiter。首先我们当然要引入他。 <dependency> <groupId>com.google.guava</groupId> ...

2020-04-26 15:27:05 276

原创 Tomcat源码解析五部曲三、请求处理流程

Tomcat处理Http请求又是非常难的一步,在这里只总结一下大概。处理请求主要涉及到这么几个类,Acceptor、Poller、Mapper、CoyoteAdapter、Processor、ProtocolHandler等。还有好多Acceptor:在第一章也提到过,当Connector启动时,也会启动他内部的Endpoint,Endpoint并行运行多个线程,每个线程运行着一个Accept...

2020-04-13 21:39:04 297

原创 Tomcat源码解析五部曲二、Web项目加载过程

在上一章说过,当StandardContext被添加到StandardHost下,会触发StandardContext的start方法进行启动,首先自然是调用StandardContext的initInternal(),接着是startInternal(),initInternal()也没做多少关键的事,而startInternal()又过于多,300的方法实在很难分析,所以,还是只找几个关键的地...

2020-04-06 10:39:06 435

原创 Tomcat源码五部曲一、启动过程

Tomcat源码确实复杂,没个几星期还真是搞不清楚。网上的文章也太水了,大部分只说了下Tomcat各个组件的用途,就连最开始一个很重要的Digester都没讲,很多你想搞清楚的问题的没说,比如Tomcat如何初始化我们编写的Sevlet,又如何把请求映射到指定的Servlet,以及没有找到对应资源又如何处理。这篇主要记录Tomcat的启动流程,以及为后续Web请求处理所做的一些铺垫。同样也来了...

2020-04-02 15:04:49 311

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除