TOMCAT类加载机制_第1页
TOMCAT类加载机制_第2页
TOMCAT类加载机制_第3页
TOMCAT类加载机制_第4页
TOMCAT类加载机制_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TOMCAT类加载机制类加载机制QA问题解答问题解答加载过程加载过程目录目录类加载机制类加载机制类加载方式类加载方式234动态加载动态加载类加载机制l 概念概念 类加载器(class loader)用来加载 Java 类到 Java 虚拟机中,类加载器是 Java 语言的一个创新。它使得动态安装和更新软件组件成为可能,在 Web 容器和 OSGi中得到了广泛的使用;l JVMJVM委托模式委托模式 JVM类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回,只有父类加载器无法完成此加载任务时,才自己去加载。l TOMCAT 类加载

2、机制 与JVM的委托机制不一样,TOMCAT Server启动时会创建一个类加载树,以保证模块式私有的;Web应用类加载器首先尝试自己加载,而不是委托给父类加载进行,只有无法加载时,才进行委托父类加载处理。类加载方式l 预先预先加载加载 Java 运行环境为了优化系统,提高程序的执行速度,在 JRE 运行的开始会将 Java 运行所需要的基本类采用预先加载(pre-loading)的方法全部加载要内存当中,如rt.jar文件里面所有.class 文件;l 依依需求需求加载加载 在程序中需要使用自己定义的类的时候就要使用依需求加载方法( load-on-demand),即在 Java 程序需要用

3、到的时候再加载,以减少内存的消耗,嵌入式领域的Java程序用的比较多;l 隐式隐式加载加载 隐式加载就是我们在程序中用 new 关键字来定义一个实例变量,JRE 在执行到 new 关键字的时候就会把对应的实例类加载进入内存,是最常见的使用方式;l 显式加载显式加载 显示加载就是有程序员自己写程序把需要的类加载到内存当中,即 Class 类的 forName (String s) 方法把类加载进来,通过 newInstance()方法把实例初始化。父子关系图加载路径Bootstrap ClassloaderSystem Classloader加载基本的JVM运行环境类,位于%JAVA_HOME%

4、/lib目录基于JVM的CLASSPATH参数设置装载类文件,对于Tomcat内部的程序和应用层的程序都是可见加载附属类,对于Tomcat内部的程序和Web应用层的程序可见,perties文件common.loader属性进行配置Common Classloader加载Web应用,每个Web应用都会拥有一个独立的类装载器,只用Web应用层的程序可见Webapp C类加载器初始化过程动态加载动态加载Web应用应用配置配置Tomcat的重载属性的重载属性reloadable=true,可以动态监视扫描可以动态监视扫描使用使用TOMCAT MANAGER工具重载应用工具重载应用动态加载方法动态加载方法QA问题解答问题解答Q: 使用TOMCAT部署Web应用经常报jar包冲突,如log4j.jar, sevlet-api.jar, jsp-api.jar,el-api.jar等,原因?A: Web应用使用Webapp ClassLoader进行加载,它先自己加载,若没有再委托父 classloader进行加载;即在web项目WEB-INFlib下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论