深入理解JVM(十)——类加载器
来源:互联网 发布:云计算怎么用 编辑:程序博客网 时间:2024/05/17 06:56
类与类加载器
- 类加载器的作用:将class文件加载进JVM的方法区,并在方法区中创建一个java.lang.Class对象作为外界访问这个类的接口。
- 类与类加载器的关系:比较两个类是否相等,只有当这两个类由同一个加载器加载才有意义;否则,即使同一个class文件被不同的类加载器加载,那这两个类必定不同,即通过类的Class对象的equals执行的结果必为false。
类加载器种类
JVM提供如下三种类加载器:
启动类加载器
负责加载Java_Home\lib中的class文件。扩展类加载器
负责加载Java_Home\lib\ext目录下的class文件。应用程序类加载器
负责加载用户classpath下的class文件。
双亲委派模型
- 工作过程:如果一个类加载器收到了加载类的请求,它首先将请求交由父类加载器加载;若父类加载器加载失败,当前类加载器才会自己加载类。
- 作用:像java.lang.Object这些存放在rt.jar中的类,无论使用哪个类加载器加载,最终都会委派给最顶端的启动类加载器加载,从而使得不同加载器加载的Object类都是同一个。
- 原理:双亲委派模型的代码在java.lang.ClassLoader类中的loadClass函数中实现,其逻辑如下:
- 首先检查类是否被加载;
- 若未加载,则调用父类加载器的loadClass方法;
- 若该方法抛出ClassNotFoundException异常,则表示父类加载器无法加载,则当前类加载器调用findClass加载类;
- 若父类加载器可以加载,则直接返回Class对象;
转自:http://blog.csdn.net/u010425776/article/details/58145910
阅读全文
0 0
- 深入理解JVM(十)——类加载器
- 深入理解JVM(十)——类加载器
- 深入理解jvm — 类加载篇
- 深入理解JVM(八)——类加载的时机
- 深入理解JVM(九)——类加载的过程
- 深入理解JVM(八)——类加载的时机
- 深入理解JVM(九)——类加载的过程
- 深入理解JVM(八)——类加载的时机
- 深入理解JVM(九)——类加载的过程
- 深入理解JVM(八)——类加载的时机
- 深入理解JVM(九)——类加载的过程
- 深入理解JVM总结——虚拟机类加载机制
- 深入理解JVM——类加载机制
- 【深入理解JVM】类加载
- 深入理解JVM-类加载
- 深入理解Java虚拟机——JVM类加载机制(类加载过程和类加载器)
- 深入理解JVM(五)-Java类加载器
- 【深入理解JVM】:类加载器与双亲委派模型
- 开发一个时间管理小程序
- 关于scanf报错
- ofbiz安装
- =。=switch中的default><摘自网上
- linux下boot空间不足
- 深入理解JVM(十)——类加载器
- HDU2007
- pat1017
- android项目导入eclipse最后不能点击next和finish
- python3:(unicode error) 'utf-8' codec can't decode
- DOM
- pat乙级1018
- handler机制
- pycharm默认快捷键: