1. 类加载器
类加载器:负责将.class文件 加载到内存中
2. 类加载时机
- 创建类的实例(对象)
- 调用类的类方法
- 访问类或者接口的类变量,或者为该类变量赋值
- 使用反射方式来强制创建某个类或者接口对应的java.lang.Class对象
- 初始化某个类的子类
- 直接使用java.exe命令来运行某个主类
用到就加载,不用不加载
3. 类加载的过程
4. 类加载器的分类
启动类加载器: 虚拟机内置的类加载器 底层C++编写的
平台类加载器: 负责加载JDK中一些特殊的模块
系统类加载器: 负责加载用户类路径上所指定的类库
5. 双亲委派模型
6. ClassLoader
注意默认是项目的第一层src
getSystemClassLoader() : 获取系统类加载器 返回值为ClassLoader
- getResourceAsStream(String name): 利用加载器去加载一个指定的文件 参数为路径 返回为字节流