类加载器

来源:互联网 发布:java实现发邮件带附件 编辑:程序博客网 时间:2024/05/17 06:32

在类加载的过程中,实现加载步骤第一项:通过一个类的全限定名来获取此类的二进制字节流的代码块被称为“类加载器”

站在java虚拟机的角度,只存在两种不同的类加载器:

1.启动类加载器(Bootstrap ClassLoader)

1.由C++实现,是虚拟机自身的一部分,无法被java程序直接调用。
2.负责加载 %JAVA_HOME%\lib目录中或被-Xbootclasspath参数所指定的路径,并且是虚拟机所识别的类库。

2.其他类加载器

由java语言实现,直接或间接的基础自:java.Lang.ClassLoader抽象类。
包括:

1.扩展类加载器(Extension ClassLoader):
sun.misc.Launcher.ExtClassLoader->
负责加载%JAVA_HOME%\lib\ext目录中或者被 java.ext.dirs系统变量指定路径的类库,开发者可直接使用。
2.应用程序类加载器(Application ClassLoader):
sun.misc.Launcher.AppClassLoader-》
由于这个类加载器是ClassLoader中getSystemClassLoader()方法的返回值,一般也称之为系统类加载器,它负责加载用户类路径Classpath上所指定的类库,如果未定义自己的类加载器,这就是默认的类加载器。

3.双亲委派模型:

双亲委派模型

0 0
原创粉丝点击