
tomcat
ljz2016
这个作者很懒,什么都没留下…
展开
-
类加载器--Tomcat--ParallelWebappClassLoader
首先是jvm自带的三个类加载器的关系图:系统类加载器在加载一个类时,会先查找已经加载的类,如果没找到,再委托父加载器(父加载器不是父类,这是2个概念),父加载器没找到就继续委托父加载器,直到所有的父加载器都没有找到,并且都加载失败之后,就自己加载,如果自己加载也失败了,就抛异常。父类加载过,而且还尝试加载失败,那么就自己来 c = findClass(name);这个方法在url...原创 2018-11-23 15:22:23 · 10419 阅读 · 1 评论 -
tomcat架构笔记
tomcat定义了Pipeline和Value两个接口,前者用于构建职责链,后者代表职责链上的每一个处理器。Pipeline中维护了一个基本的Value用于最后处理。tomcat提供Bootstrap作为应用服务器启动入口,Bootstrap负责创建和启动Catalina,根据执行参数调用Catalina相关方法完成针对服务器的操作。使用Bootstrap启动是为了分离启动类和资源库,方便c...原创 2018-11-28 09:50:20 · 153 阅读 · 0 评论 -
tomcat--catalina
Servlet容器是tomcat的核心组件,所有基于jsp/servlet的Java web应用均需要依托servlet容器运行并对外提供服务。tomcat本质上是一款servlet容器,因此Catalina是tomcat的核心,其它模块均为catalina提供支持。DigesterCatalina使用digester解析xml配置文件,并创建应用服务器。...原创 2018-11-29 16:43:23 · 6267 阅读 · 0 评论 -
tomcat的批处理文件
tomcat 的批处理文件都在bin目录,启动程序的jar包也在这个里面,与webapps下的应用隔离了,方便使用类加载器隔离多个应用。启动文件是startup.batsetlocalset "CURRENT_DIR=%cd%"setlocal是表明之后的所有对环境变量的改变只对这个批处理文件有效,如果要还原原先的设置,可以执行endlocal,如果没有显示执行,则在批处理文件的最后隐...原创 2018-12-05 09:47:55 · 1330 阅读 · 0 评论 -
tomcat中获取环境变量或者属性
获取环境变量System.getevn("变量名")获取系统属性,启动时通过-D设置的Sytem.getproperty("param")CatalinaProperties获取catalina.properties的属性然后添加到系统属性中。环境变量主要是JAVA_HOME和classpath这两个。Path用于命令行启动时系统变量user.dir 当前用户工作目录ja...原创 2018-12-07 10:36:40 · 2146 阅读 · 0 评论 -
tomcat的Endpoint
maxConnections设置最大线程数,默认是10000(tomcat 8.5,默认使用NIO的情况下。如果低于这个版本并且使用BIO,则可能只有200),这个参数可以设置。该参数作用于connectionLimitLatch,每次设置maxConnections的时候都会附带着修改connectionLimitLatch,如果maxConnections是-1,则释放所有的锁,然后将con...原创 2018-12-10 16:42:33 · 1459 阅读 · 0 评论