类加载器
类加载器负责将.class文件加载到内存中
类加载的时机
1.创建类的对象;
2.调用类的类方法;
3.访问类或者接口的类变量,或者为该类变量赋值;
4.使用反射方式来强制创建某个类或接口对应的java.lang.Class对象
5.初始化某个类的子类
6.直接使用java.exe命令来运行某个主类
类加载器的分类
启动类加载器(Bootstrap ClassLoader):虚拟机内置的类加载器,加载核心类库;
平台类加载器(Plantform ClassLoader):负责加载JDK中一些特殊的模块,加载扩展的类库;
系统类加载器(System ClassLoader):负责加载用户类路径上所指定的类库,加载自定义类。
类加载器采用双亲委派模型(又称父类委托机制)
加载一个类的时候,优先使用父类加载器,如果不能加载,采用子类加载器。
public static ClassLoader getSystemClassLoader() 获得系统类加载器
getParent() 得到父类加载器
public InputStream getResourceAsStream(String name)
利用加载器加载某一个资源文件