网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>专题栏目>>Tomcat专题>查看文档  
  Tomcat类加载机制     
  文章作者:未知  文章来源:未知  
  查看:460次  录入:管理员--2007-03-12  
 

yahoo中国的一个面试题,转至水木,希望对大家有用.

Tomcat Server在启动的时候将构造一个ClassLoader树,以保证模块的类库是私有的
Tomcat Server的ClassLoader结构如下:

代码
  1.     Bootstrap   
  2.        |             
  3.      System    
  4.        |   
  5.      Common   
  6.     /      \   
  7. Catalina  Shared   
  8.           /    \   
  9.        WebApp1  WebApp2   

其中:
- Bootstrap - 载入JVM自带的类和$JAVA_HOME/jre/lib/ext/*.jar
- System - 载入$CLASSPATH/*.class
- Common - 载入$CATALINA_HOME/common/...,它们对TOMCAT和所有的WEB APP都可见
- Catalina - 载入$CATALINA_HOME/server/...,它们仅对TOMCAT可见,对所有的WEB APP都不可见
- Shared - 载入$CATALINA_HOME/shared/...,它们仅对所有WEB APP可见,对TOMCAT不可见(也不必见)
- WebApp - 载入ContextBase?/WEB-INF/...,它们仅对该WEB APP可见

 

每个运行中的线程都有一个成员contextClassLoader,用来在运行时动态地载入其它类,系统默认的contextClassLoader是systemClassLoader,所以一般而言java程序在执行时可以使用JVM自带的类、$JAVA_HOME/jre/lib/ext/中的类和$CLASSPATH/中的类,可以使用Thread.currentThread().setContextClassLoader(...);更改当前线程的contextClassLoader,来改变其载入类的行为

ClassLoader被组织成树形,一般的工作原理是:
1) 线程需要用到某个类,于是contextClassLoader被请求来载入该类
2) contextClassLoader请求它的父ClassLoader来完成该载入请求
3) 如果父ClassLoader无法载入类,则contextClassLoader试图自己来载入
注意:WebApp?ClassLoader的工作原理和上述有少许不同:
它先试图自己载入类(在ContextBase?/WEB-INF/...中载入类),如果无法载入,再请求父ClassLoader完成

由此可得:
- 对于WEB APP线程,它的contextClassLoader是WebApp?ClassLoader
- 对于Tomcat Server线程,它的contextClassLoader是CatalinaClassLoader

 
 
上一篇: 整合vista iis7 与 tomcat 5.5的配置方法    下一篇: 设置tomcat admin
  相关文档
Tomcat 5.5开发Servlet和JavaBean的配置 03-12
整合vista iis7 与 tomcat 5.5的配置方法 03-12
Tomcat 5.5 开发 Servlet 和 JavaBean 的配置 03-12
Tomcat5.5连接池的配置 03-12
Tomcat多虚拟站点 03-12
安装第二个Tomcat完成后,到安装目录下的conf子目录中打开serv.. 03-12
Linux下Tomcat的安装 03-12
apache2与tomcat5.5整合 03-12
TOMCAT5在WINDOWS下的系统服务相关的命令行 03-12
解决Tomcat 中文文件下载乱码问题 03-12
tomcat的配置和管理问题总结 03-12
Eclipse3.2+Tomcat5.5.17+Oracle9配置 03-12
Tomcat启动分析 03-12
Tomcat服务器端SSL的配置(JKS和PKCS12) 03-12
tomcat下get方式提交请求乱码解决办法 03-12
Tomcat类加载机制 03-12
Tomcat配置技巧Top 10 03-12
整合了tomcat+apache+IIS6 03-12
Apache HTTP Server 与 Tomcat 的三种连接方式介绍息 03-12
设置tomcat admin 03-12
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息