《深入理解java虚拟机》学习笔记8——Tomcat类加载器体系结构

转载 2013年12月04日 15:36:05

Tomcat 等主流Web服务器为了实现下面的基本功能,都实现了不止一个自定义的类加载器:

(1).部署在同一个服务器上的两个web应用程序所使用的java类库可以相互隔离。

(2).部署在同一个服务器上的两个web应用程序所使用的java类库可以相互共享。

(3).许多Web服务器本身使用java语言实现,因此服务器所使用的类库应与应用程序的类库相互独立。

(4).支持JSP应用的Web服务器,需要支持HotSwap功能,因为JSP文件最终是被编译为java的servlet来运行的,当修改JSP文件时,不需要重启服务器就可以实现热部署。

Tomcat作为JDK推荐的双亲委派模式正统类加载器实现的代表,Tomcat5和Tomcat6类加载体系结构有较大区别:

Tomcat5:

Tomcat5中可以存放java类库以及Web应用的目录如下:

(1)./common目录:类库可以被Tomcat服务器本身和所有的Web应用程序共同使用。

(2)./server目录:类库可以被Tomcat服务器本身使用,对应用程序不可见。

(3)./shared目录:类库可以被所有的应用程序使用,对Tomcat服务器本身不可见。

(4)./WebApp/WEB-INF目录:类库仅可以被应用程序使用,对其他的应用程序和Tomcat服务器不可见。

Tomcat5的类加载体系结构如下:

Tomcat6:

Tomcat默认把/common、/server和/shared三个目录合并成一个/lib目录,因此Tomcat6默认可以存放java类库以及Web应用的目录如下:

(1)./lib目录:类库可以被Tomcat服务器本身和所有的Web应用程序共同使用。

(2)./WebApp/WEB-INF目录:类库仅可以被应用程序使用,对其他的应用程序和Tomcat服务器不可见。

Tomcat6的默认类加载体系结构如下:


在Tomcat6中,可以通过指定<Tomcat安装目录>/conf/catalina.properties属性文件中的server.loader和share.loader建立和Tomcat5类似的ServerClassLoader和SharedClassLoader。

相关文章推荐

《深入理解java虚拟机》学习笔记8——Tomcat类加载器体系结构

Tomcat 等主流Web服务器为了实现下面的基本功能,都实现了不止一个自定义的类加载器: (1).部署在同一个服务器上的两个web应用程序所使用的java类库可以相互隔离。 (2).部署在同一个...

深入理解java虚拟机【Tomcat类加载器体系结构】

Tomcat 等主流Web服务器为了实现下面的基本功能,都实现了不止一个自定义的类加载器: (1).部署在同一个服务器上的两个web应用程序所使用的java类库可以相互隔离。 (2).部署...

Tomcat类加载器体系结构

与Java语言相似,Tomcat提供了分级类加载机制,当然,最顶端非BootStrap Loader莫属,它由C++编写,JVM启动且完成初始化后首先被调用。不过在Tomcat中类加载体系中,缺少了E...

深入理解java虚拟机读书笔记之-----java体系结构介绍

年前买了《深入Java虚拟机(原书第2版)》一书,由于当时能力有限只看了前几章,最近又重新拿出来细细研读。   Java体系结构包括四个独立但相关的技术: Java程序设计语言; Java...

java类加载器体系结构

jvm classLoader architecture : a, Bootstrap ClassLoader/启动类加载器 主要负责jdk_home/lib目录下的核心 api 或 -Xboot...
  • FG2006
  • FG2006
  • 2011年08月18日 01:27
  • 983

[深入理解Java虚拟机]第七章 类加载器

虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器...

11.《深入理解Java虚拟机》类加载器与双亲委派模型

2017-1-2 20:20 写了一天的blog和看书,看不下去了,回去健身。明天再写。 2017-1-2 23:00 回到寝室我还是妥协了,还是先把这个写完吧。 类与类加载器虚拟机设计团队把类...

深入理解Java虚拟机--类加载器

通过一个类的全限定名来获取描述此类的二进制流,执行这个动作的代码模块成为“类加载器”。        两个类只有在同一个类加载器加载的前提下才有意义,否则即使两个类原子相同的Class文件,只要...

深入理解java虚拟机(九)类加载器以及双亲委派模型

虚拟机把类加载阶段中“通过一个类的权限定名来获取描述此类的二进制字节流”这个动作放到虚拟机外部去实现,以便让程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。...

Java虚拟机知识整理——类加载器

类加载器
  • buyoufa
  • buyoufa
  • 2016年07月25日 14:38
  • 237
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《深入理解java虚拟机》学习笔记8——Tomcat类加载器体系结构
举报原因:
原因补充:

(最多只允许输入30个字)