Java编译器将Java源文件编译成.class文件,再由JVM加载.class文件到内存中,JVM装载完成后得到一个 Class字节码对象。拿到字节码对象之后,我们就可以实例化了。
那么,类的加载过程需要使用到加载器。JVM设计了3个类加载器,它们分别是:Bootstrap类加载器、 Extension类加载器和 类加载器,这些类加载器分别加载不同作用范围的jar包和.class文件。下面,我给大家详 细介绍一下:
1、Bootstrap ClassLoader,主要是负责Java核心类库的加载,也就是 %{JDK_HOME}\lib下的rt.jar、resources.jar等
2、Extension ClassLoader,主要负责%{JDK_HOME}\lib\ext目录下的jar包和class文件
3、Application ClassLoader,主要负责当前应用里面的classpath下的所有jar包和类文件 除了系统自己提供的类加载器以外,还可以通过ClassLoader类实现自定义加载器,去满足一些特殊场景的 需求。