欢迎来到天天文库
浏览记录
ID:40571774
大小:28.50 KB
页数:3页
时间:2019-08-04
《Tomcat类加载机制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Tomcat类加载机制Tomcat中的类加载策略和JDK中的委托模型略有不同。TomcatServer在启动的时候将构造一个ClassLoader树,以保证模块的类库是私有的,ClassLoader结构如下: Bootstrap
2、 System
3、 Common / Catalina Shared
4、/ ...... webapp1 webappN各个类加载器的作用描述如下:1)BootstrapClassLoader:负责加载由虚拟机提供的基本运行时类和系统扩展目录($JAVA_HOME/jre/lib/ext)下的JAR包;2)SystemClassLoader:通常这个加载器用来加载CLASSPATH环境变量中指定的类,但在Tomcat5的标准启动脚本($CATALINA_HOME/bin/catalina.sh或%CATALINA_HOME%/bin/catalina.bat)中
5、改变了它的行为,它只加载下面的类:$CATALINA_HOME/bin/bootstrap.jar //Containsthemain()methodthatisusedtoinitializetheTomcat5server,andtheclassloaderimplementationclassesitdependson.$JAVA_HOME/lib/tools.jar//Containsthe"javac"compilerusedtoconvertJSPpagesintoservletclasses.$CATALINA_H
6、OME/bin/commons-logging-api.jar //JakartacommonsloggingAPI.$CATALINA_HOME/bin/commons-daemon.jar//JakartacommonsdaemonAPI.jmx.jar//TheJMX1.2implementation.CommonClassLoader:它负责加载Tomcat本身和所有的web应用都能看到的类。通常,应用的类不应该由他加载。$CATALINA_HOME/common/classes,$CATALINA_HOME/commons/
7、endorsed和$CATALINA_HOME/common/lib下的类都由这个加载器加载。缺省的,包括: ant.jar-ApacheAnt.commons-collection.jar //Jakartacommonscollection.commons-dbcp.jar //JakartacommonsDBCP,providingaJDBCconnectionpooltowebapplications.commons-el.jar//Jakartacommonsel,implementingtheexpressionlangu
8、ageusedbyJasper.commons-pool.jar //Jakartacommonspool.jasper-compiler.jar//TheJSP2.0compiler.jasper-runtime.jar //TheJSP2.0runtime.jsp-api.jar//TheJSP2.0API.naming-common.jar//TheJNDIimplementationusedbyTomcat5torepresentin-memorynamingcontexts.naming-factory.jar//TheJN
9、DIimplementationusedbyTomcat5toresolvereferencestoenterpriseresources(EJB,connectionpools).naming-resources.jar//ThespecializedJNDInamingcontextimplementationusedtorepresentthestaticresourcesofawebapplication.servlet-api.jar //TheServletandJSPAPIclasses.xerces.jar //The
10、XMLparserthatisvisiblebydefaulttoTomcatinternalclassesandtowebapplications.xml-apis.jarCatalinaClassLoader:用来加
此文档下载收益归作者所有