类加载器

类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用的开发人员不需要直接同类加载器进行交互。Java 虚拟机默认的行为就已经足够满足大多数情况的需求了。

Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个负责加载特定位置的类:BootStrapExtClassLoaderAppClassLoader

 

BootStrap负责:JRE/lib/rt.jarExtClassLoader负责:JRE/lib/ext/*.jarAppClassLoader负责ClassPath指定的所有jar或者目录。

类加载器本身也是一个Java类,因为其他Java类的加载器本身也要被类加载器加载,显然必须有一个类加载器不是Java类,这正是BootStrap

Java虚拟机中的所有类加载器采用具有父子关系的树形结构进行组织,在实例化每个类加载器对象时,需要为其指定一个父级类加载器对象或者采用系统类加载器为其父级类加载器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章