失效链接处理 |
深入理解Java中的类加载器 PDF 下载
相关截图:
![]() 主要内容:
1 JVM中的ClassLoader
JVM中有3个默认的类加载器:
引导(Bootstrap)类加载器。用C/C++写的,在Java代码中无法获取到。主要是加载存储在
<JAVA_HOME>/jre/lib 目录下的核心Java库,对应的加载路径是 sun.boot.class.path 。
扩展(Extensions)类加载器.用来加载 <JAVA_HOME>/jre/lib/e。t 目录下或者对应的加载路径
java.ext.dirs 中指明的Java扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在
此目录里面查找并加载 Java 类。该类由 sun.misc.Launcher$ExtClassLoader 实现。
Apps类加载器(也称系统类加载器)。根据 Java应用程序的类路径(java.class.path或
CLASSPATH环境变量)来加载 Java 类。一般来说,Java 应用的类都是由它来完成加载的。可以通
过 ClassLoader.getSystemClassLoader() 来获取它。该类由
sun.misc.Launcher$AppClassLoader 实现,它的parent类加载器是ExtClassLoader。
下面通过一个示例来看一下:
|