`
maliang.scut
  • 浏览: 6764 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Tomcat中,Web应用中对class和resource的加载

阅读更多
昨天在读一篇帮助:http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html
是讲述Tomcat中,classLoader如何工作的。

其中一段是这样讲的:
引用

Therefore, from the perspective of a web application, class or resource loading looks in the following repositories, in this order:

Bootstrap classes of your JVM
System class loader classes (described above)
/WEB-INF/classes of your web application
/WEB-INF/lib/*.jar of your web application
$CATALINA_HOME/lib
$CATALINA_HOME/lib/*.jar


我的理解是,当Tomcat中的某个Web应用,需要请求某个class信息,或者是资源信息,将会按照以下的顺序进行查找。

JVM
Tomcat启动的关键类
应用中的classes目录下的class文件
应用中lib目录下的jar文件
Tomcat安装目录下的lib目录
Tomcat安装目录下的lib目录下的jar文件。

如果按照这样来看的话,应该会出现这样的情况,如果同一个Tomcat下有两个不同的web应用,这两个应用都在自己的lib目录下使用同样的第三方jar包。那么Tomcat会使用不同的Web应用级别的classLoader来加载这两个jar包。

这样就造成了Perm空间的浪费。
分享到:
评论
2 楼 maliang.scut 2010-03-15  
一个新的疑问,我在Windows下查看某个web应用的lib目录,大小为12M,那么当这些jar文件都被完全加载后,他们在Perm中会占用多大的空间呢?
1 楼 maliang.scut 2010-03-15  
这里看到另外一位同学的讲述,更好:
http://gotothework.iteye.com/blog/219299

相关推荐

    Tomcat配置解决跨域问题

    总的来说,理解和配置Tomcat的跨域策略是现代Web开发中的一个重要技能,它能确保你的服务能够顺利地与不同源的客户端进行通信,无论是移动应用还是单页应用。通过以上步骤,你可以有效地解决Tomcat的跨域问题,提升...

    使用embeded tomcat进行嵌入式javaee开发-启动tomcat

    在JavaEE开发中,使用内嵌的Tomcat服务器(通常称为embeded Tomcat)是一种常见的实践,它允许开发者在本地环境中快速、方便地测试和调试应用程序,而无需手动配置独立的服务器实例。本文将深入探讨如何使用embeded ...

    Tomcat 5.0.18 ClassLoader source code insight

    - **Resource Loading**:除了加载类,ClassLoader还负责加载应用中的其他资源,如配置文件和图片。 通过对Tomcat 5.0.18 ClassLoader的源码分析,我们可以更好地理解和控制应用的类加载行为,这对于解决类冲突、...

    如何访问一个web应用

    而在Java领域,Tomcat是最为广泛使用的Web服务器之一,它不仅能够作为一个独立的Web服务器运行,还可以嵌入到其他Java应用服务器中。 Web应用则是由一系列的网页和其他资源组成的应用程序,这些资源可以是HTML文档...

    tomcat6中配置JNDI方法

    - 在应用项目的`WEB-INF/web.xml`文件中添加对数据源的引用。 ```xml <resource-ref> <description>MySQL DataSource <res-ref-name>jdbc/TestDB <res-type>javax.sql.DataSource <res-auth>Container </...

    jdbc以及配置tomcat

    **Tomcat**是一款开源且轻量级的Java Servlet容器,它实现了Servlet和JavaServer Pages(JSP)规范,用于部署Web应用程序。Tomcat的配置主要包括以下几个方面: 1. **服务器配置(server.xml)**:这是Tomcat的主要...

    如何读取webroot文件下的属性文件

    在Servlet容器(如Tomcat)中,`webroot`是应用程序的根目录,可以通过`ServletContext`对象获取。首先,我们需要在Servlet或者Filter中获取`ServletContext`实例: ```java ServletContext context = ...

    tomcat数据库连接池设置

    Tomcat 数据库连接池是一种高效的数据库连接管理机制,它能够帮助开发者快速建立和管理数据库连接,提高应用程序的性能和可靠性。在本文中,我们将详细介绍 Tomcat 数据库连接池的设置过程。 Step 1: 将数据库驱动...

    jdbc 简介 如何在tomcat 中配置数据源

    在现代Web应用程序开发中,数据库连接管理和数据访问操作是非常关键的一部分。JDBC(Java Database Connectivity)作为Java平台的标准数据库访问技术,使得开发者能够使用Java语言编写应用程序来访问各种类型的...

    tomcat7源码

    【标题】"Tomcat7源码" ...通过分析Tomcat7源码,开发者可以学习到如何构建一个高效的Web服务器,理解Java Web应用的运行机制,同时也可以根据具体需求对其进行优化和扩展,以满足特定项目的需求。

    Tomcat配置hibernate xml模板

    在IT行业中,尤其是在Java Web开发领域,Tomcat和Hibernate是两个非常重要的工具。Tomcat是一款广泛应用的开源Web服务器和Servlet容器,而Hibernate则是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间...

    Tomcat下的数据库连接

    在Java Web应用中,Tomcat作为流行的开源Servlet容器,经常被用来部署和运行Web应用程序。在这样的环境中,数据库连接管理是关键的一部分。本篇将详细解释如何在Tomcat下配置JNDI(Java Naming and Directory ...

    Tomcat连接池配置详解

    总结来说,配置Tomcat连接池是提升Web应用性能的关键步骤,它涉及到管理界面的操作和配置文件的修改。理解这些参数的意义并根据实际情况进行调整,能够帮助你更好地管理和优化你的数据库连接,提升应用的整体性能。

    tomcat同源限制解决包

    标题 "tomcat同源限制解决包" 涉及到的是在Web开发中常见的安全策略——同源策略(Same-Origin Policy)以及如何在Tomcat服务器上处理跨域请求的问题。同源策略是浏览器为了保护用户数据安全而实施的一项重要机制,...

    tomcat支持跨域jar.zip

    Tomcat作为一款广泛应用的Java Web服务器,提供了解决跨域问题的方法。"tomcat支持跨域jar.zip"这个压缩包文件可能包含了针对Tomcat的跨域解决方案,特别是对于处理模型配置文件的跨域请求。 首先,我们来了解...

    Tomcat5.5数据源的配置[图解]

    在Java Web开发中,Tomcat作为轻量级应用服务器,常常被用于部署Web应用程序。为了连接数据库,我们需要配置数据源(DataSource)。本篇将详细介绍如何在Tomcat 5.5版本中配置数据源,确保与数据库的顺利连接。 1. ...

    Tomcat下的数据库连接.pdf

    在Java Web应用中,Tomcat作为流行的Servlet容器,经常被用来部署各种Web应用程序。数据库连接是Web应用中不可或缺的一部分,而Tomcat通过JNDI(Java Naming and Directory Interface)提供了一种管理数据库连接的...

Global site tag (gtag.js) - Google Analytics