A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

类加载器1.类加载器的概述
负责将.class文件加载到内存中,并为之生成对应的Class对象。我们的最终目标是学习类加载器的加载机制,了解这个机制我们就能更好的理解程序的运行。
2.类加载器的分类
Bootstrap ClassLoader 根类加载器
Extension ClassLoader 扩展类加载器
Sysetm ClassLoader 系统类加载器
3.类加载器的作用
1.Bootstrap ClassLoader 根类加载器,也被称为引导类加载器,负责Java核心类的加载,比如System,String等。在JDK中jre的lib目录下rt.jar文件中
2.Extension ClassLoader 扩展类加载器负责JRE的扩展目录中jar包的加载。在JDK中JRE的lib目录下ext目录
3.Sysetm ClassLoader 系统类加载器(又叫做Application ClassLoader)负责在JVM启动时加载来自java命令的class文件,以及classpath环境变量所指定的jar包和类路径
4.类加载器原理
父类委托机制:先让父类加载器寻找,只有在父类加载器找不到的情况下才从自己的类路径中去寻找
举例
​        比如当我们执行java Dog的时候,肯定要先加载Dog.class,本来这个类应该由System Classloader加载,但是这个类加载有父亲,所以就交给Extension Classloader类加载器加载,这个类加载器还有爸爸最后就交给BootStrap Classloader去加载。但是BootStrap 类加载器加载的rt.jar包中并没有这个Dog类,无法加载,就又返回给Extension 类加器加载,这个类加载器在ext目录也找不到Dog类,就又返回给System类加器加载器,如果从classpath目录找到了Dog类就加载,找不到就报错ClassNotFoundException

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马