Java类加载器
Java类加载器分为两类,一类是系统的类加载器,一类是自定义类加载器。系统类加载器主要有下面三个引导类加载器,扩展类加载器,系统类加载器(还有线程上下文类加载器等等,但是主要有三个);自定义类加载器通过继承 java.lang.ClassLoader类的方式实现,这个并没有明确规定多少个。
功能
Java类加载器是负责读取 Java 字节代码,并转换成 java.lang.Class类的一个实例。
工作过程
类加载器工作主要有五个阶段:
1.加载:查找需要加载类的字节码,并创建实例对象
2.验证:对于字节信息的检验,防止危害虚拟机
3.准备:为类变量分配内存,并赋初始化值
4.解析:常量池中的符号引用替换为直接引用的过程
5.初始化:若该类具有超类,则对其进行初始化