tomcat 自定义类加载器
2021-04-29 18:42:16 4 举报
tomcat 自定义类加载器
作者其他创作
大纲/内容
当某个类加载器需要加载某个.class⽂件时,它⾸先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,⾃⼰才会去加载这个类
引导类加载器
系统类加载器
SystemClassLoader/AppClassLoader:默认的类加载器,搜索环境变量 classpath 中指明的路径
Shared 类加载器
扩展类加载器
ExtClassLoader :java编写,加载扩展库 JAVA_HOME/lib/ext ⽬录下的jar中的类,如 classpath中 的jre ,javax.* 或者 java.ext.dir指定位置中的类
WebApp 类加载器
Commons 类加载器
系统类加载器正常情况下加载的是 CLASSPATH 下的类,但是 Tomcat 的启动脚本并未使⽤该变量,⽽是加载tomcat启动的类,⽐如bootstrap.jar,通常在catalina.bat或者catalina.sh中指定。位于CATALINA_HOME/bin下Commons:通⽤类加载器加载Tomcat使⽤以及应⽤通⽤的⼀些类,位于CATALINA_HOME/lib下,⽐如servlet-api.jarCatalina ClassLoader:⽤于加载服务器内部可⻅类,这些类应⽤程序不能访问Shared ClassLoader:⽤于加载应⽤程序共享类,这些类服务器不会依赖Webapp ClassLoader:每个应⽤程序都会有⼀个独⼀⽆⼆的Webapp ClassLoader,他⽤来加载本应⽤程序 /WEB-INF/classes 和 /WEB-INF/lib 下的类。加载顺序:1、BootstrapClassLoader 加载2、/WEB-INF/classes 目录3、/WEB-INF/lib/*.jar4、System、Common、Shared 加载
Catalina 类加载器
收藏
0 条评论
下一页