类加载器介绍
一、功能介绍
?? java中的类加载器主要是用来将class文件加载进JVM中,并在JVM中定义出字节码所表示的类,最终每个被加载进JVM的类都变成java.lang.Class的一个实例。
二、JVM中类加载器的结构
? JVM的类加载器分为两类,一类是由JVM提供的,另外一类则是由开发人员自己编写的。
? JVM提供的类加载器如下:
??? 1、引导类加载器:这个类加载器主要是加载java的核心类库。
????2、扩展类加载器:这个类加载器主要是加载扩展类库。
??? 3、系统类加载器:它根据用户设置的classpath去加载类库。
? 用户自定义的类加载器:
???? 用户自定义的类加载器主要是继承自ClassLoader这个类,一般来说,自定义的类加载器只需要覆盖findClass方法就可以了。
??? 加载方式:java中加载类的方式是使用的代理方式,即当需要将一个类加载进JVM时,此时会从当前类加载器的父加载器进行加载,如果其父加载器无法解决,则继续代理给其更底层的类加载器进行加载。
?
三、关于加载类时抛出的常见异常说明:
?? 类加载时抛出的异常通常是:ClassNotFoundException和NoClassDefFoundError
?