一个功能健全的Web服务器,要解决如下几个问题: 部署在同一个服务器上的两个Web应用程序使用的Java 类库可以实现相互隔离。不能要求一个类库在一个服务器中只有一份,服务器应当保证两个 ...
声明:源码版本为Tomcat . . 在本系列的第二篇文章中,曾经介绍过在Tomcat启动时会初始化类加载器 ClassLoader ,来处理整个Web工程中Class的加载问题。 类加载机制是Java平台中相当重要的核心技术,待笔者有所积累后会再次讨论这个话题。在一般的业务开发中我们可能较少接触和使用ClassLoader,但是在进行框架级程序开发时,设计良好的类加载机制能够实现更好地模块划分和 ...
2012-09-23 22:31 2 2640 推荐指数:
一个功能健全的Web服务器,要解决如下几个问题: 部署在同一个服务器上的两个Web应用程序使用的Java 类库可以实现相互隔离。不能要求一个类库在一个服务器中只有一份,服务器应当保证两个 ...
说到本篇的tomcat类加载机制,不得不说翻译学习tomcat的初衷。 之前实习的时候学习javaMelody的源码,但是它是一个Maven的项目,与我们自己的web项目整合后无法直接断点调试。后来同事指导,说是直接把java类复制到src下就可以了。很纳闷....为什么会优先 ...
在研究tomcat 类加载之前,我们复习一下或者说巩固一下java 默认的类加载器。楼主以前对类加载也是懵懵懂懂,借此机会,也好好复习一下。 楼主翻开了神书《深入理解Java虚拟机》第二版,p227, 关于类加载器的部分。请看: 什么是类加载机制? Java虚拟机把描述类的数据 ...
1. 引言 Tomcat 在部署 Web 应用的时候,是将应用放在 webapps 文件夹目录下,而 webapps 对应到 Tomcat 中是容器 Host ,里面的文件夹则是对应到 Context ,在 Tomcat 启动以后, webapps 中的所有的 Web 应用都可以提供服务 ...
前言 Tomcat遵循J2EE规范,实现了Web容器。很多有关web的书籍和文章都离不开对Tomcat的分析,初学者可以从Tomcat的实现对J2EE有更深入的了解。此外,Tomcat还根据Java虚拟机规范实现了经典的双亲委派模式的类加载体系。本文基于Tomcat7.0的Java源码 ...
Tomcat的挑战 Tomcat上可以部署多个项目 Tomcat的一般部署,可以通过多种方式启动一个Tomcat部署多个项目,那么Tomcat在设计时会遇到什么挑战呢? Tomcat运行时需要加载哪些类 Tomcat中的多个项目可能存在相同的类 Tomcat中类加载的挑战 源码分析彻底 ...
前言 主流的Java Web服务器(Tomcat、Jetty、WebLogic、WebSphere等)都有多个自定义的类加载器以及具备的类加载优势,本篇博文主要是通过以Tomcat为例简单认识Java Web服务器具有的特点、以及自定义类加载器是如何实现的。此外,本篇博文主要 ...
Tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给commonClassLoader走双亲委托。 对于JVM来说: 因此,按照这个过程可以想到 ...