类加载器
来源:互联网 发布:利达编程软件 编辑:程序博客网 时间:2024/05/16 11:43
类加载器
1 什么是类加载器
把.class文件加载到jvm的方法区中,变成一个class对象
2 得带类加载器
Class#getClassLoader()
3 类加载器的分类
引导 : 类库
扩展:扩展jar包
系统 :应用下的class,包含开发人员自己写的类,classpath下的类
4 类加载器的委托机制
代码中出现了这么一行:new A()
系统发现了自己加载的类,其中包含了new A() ,这说明需要系统去加载A类
系统会给自己的领导打电话,让扩展去自己的地盘去加载A类
扩展会给自己的领导打电话,让引导去自己的地盘加载A类
引导去rt.jar去寻找A类
如果找到了,那么加载之,然后返回A对应的Class对象给扩展,扩展也会把它这个class返回给系统,结束
如果没找到:
引导给扩展返回一个null,扩展会去自己的地盘,去寻找A类
如果找到了。那么加载之,然后返回A对应的Class对象给系统,结束了
如果没找到:
扩展返回一个null给系统,系统去自己的地盘(应用程序下)去寻找
如果找到了,那么加载之,然后返回这个Class,结束
如果没找到,那么抛出异常ClassNotFoundException
5 类的解析过程
class mycalss{ 系统
new A() //系统
String 是= new String() 也由系统加载
}
class String{ 引导
private Integet i 直接引导加载
}
6 自定义类加载器
继承Classloader
重写findClass
7 Tomcat的类加载器
Tomcat提供了两种类加载器
特性:
先自己动手,然后再去委托
${CATALINA_HOME} \lib 服务器类加载器
${CONTEXT_HOME} \WEB-INF\lib 、${CONTEXT_HOME} \WEB-INF\classes 应用类加载器
Tomcat类加载顺序:
应用下的classes:应用类加载器
应用下的lib:应用类加载器
服务器下的lib:服务器类加载器
- 加载、类加载、类加载器
- 类加载机制及类加载器加载Class流程
- 类加载器---类加载器简介
- Java类加载器加载类顺序
- 类加载器---类加载机制
- Java类加载器加载类顺序
- Java类加载器加载类顺序
- Java类加载器加载类顺序
- 类加载器和类加载机制
- 使用类加载器加载配置文件
- 用类加载器加载配置文件
- 用类加载器加载配置文件
- 类加载器的加载机制
- 用java类加载器加载资源
- 扩展类加载器的加载问题
- java类加载器的加载顺序
- 使用类加载器加载配置文件
- Java 类加载器以及加载机制
- PAT-A 1088. Rational Arithmetic
- nyoj 104 最大和 51nod oj 1051 最大子矩阵和 【DP】
- C6678 H.264 高性能视频编码测试——基于网口
- windows-DLL注入
- 跟我学Redis(16)—Redis单主机多实例
- 类加载器
- C语言编译常见错误
- 【编程题】股票涨价的问题
- 51nod oj 1086 背包问题 V2 【多重背包问题】
- MySQL安装常见问题
- Linux Deploy; apt upgrade 出错 dpkg cannot get security labeling handle: No such file or directory 解决
- 非修改性序列算法之count和count_if
- 数据库三大范式
- 【转】Java SwingWorker(一)