JVM类与类加载器

来源:互联网 发布:配乐朗诵录音软件 编辑:程序博客网 时间:2024/05/17 09:35

JVM类加载器用于将类加载到虚拟机内存中,java类在虚拟机中的唯一性由java类和类加载器共同决定;使用不同的类加载器加载同一个类可能获得不同的结果;
类加载器:
1)、启动类加载器(Bootstrap ClassLoader)该类加载器由c++编写,该类加载器负责将存放在\lib目录中或者被-Xbootclasspath 参数所制定的路径中并被JVM识别的类库加载到虚拟机内存中。
2)、扩展类加载器(Extension ClassLoader):负责加载\lib\ext目录中的或被java.ext.dirs系统变量指定的路径中的所有类库;
3)、应用程序类加载器(Application ClassLoader:系统类加载器,负责加载用户路径上所指定的类库,该加载器为程序的默认加载器;
双亲委派模型:
这里写图片描述
双亲委派模型的工作过程:如果类加载器收到类加载的请求,该类加载器首先不会自己去加载这个类,而是将这个请求委托给父类,每个类加载器都会执行委托的这个过程,因此所有的类加载请求最终都会被委托到顶层的启动类加载器中,只有当父类加载器无法完成这个类加载请求,子类加载器才会尝试自己去加载。

原创粉丝点击