- 类ClassLoader讲解
1
2
3
4
5
6JVM的类加载器包括三种
1) BootStrap ClassLoader (引导类加载器) C/C++代码实现的加载器,加载指定的JDK的核心类库,比如java.lang、java.uti.。JAVA虚拟机的启动都是通过Bootstrap,该ClassLoader在java里无法获取,负责加载/lib下的类
2)Extensions ClassLoader(拓展类加载器) JAVA实现类为ExtClassLoader,提供除了系统类之外的额外功能,可以在java里获取,负责加载/lib/ext下的类
3)Application ClassLoader
JAVA中实现类为AppClassLoader,开发人员开发的代码就是由它来加载,ClassLoader.getSystemClassLoader返回的就是这个类加载器。 - 自定义类加载器,通过继承java.lang.ClassLoader类的方式来实现自己的类加载器
- 双亲委派
1 | Bootstrap ClassLoader |
- 双亲委派模式(了解)
1 | 什么事情先给祖先去完成,如果祖先完不成,再交给儿子完成, |
- 类加载的时机:
1 | 隐式加载: |
- 类加载步骤:
1 | 装载 查找和导入Class文件 |