首页 > 其他 > 详细

类加载器双亲委派机制

时间:2020-10-19 16:11:35      阅读:49      评论:0      收藏:0      [点我收藏+]
public class String {
    @Override
    public java.lang.String toString() {
        return "hello";
    }
//双亲委派机制是安全的
    public static void main(String[] args) {
        String string = new String();
        string.toString();
    }
}

技术分享图片

 

 这就涉及到了双亲委派机制

在介绍双亲委派机制的时候,不得不提ClassLoader。说ClassLoader之前,我们得先了解下Java的基本知识。  
  Java是运行在Java的虚拟机(JVM)中的,但是它是怎么就运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由我们得ClassLoader负责将这些class问价加载到JVM中去执行。  
  JVM中提供了三层的ClassLoader:

    • Bootstrap classLoader:主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader。

    • ExtClassLoader:主要负责加载jre/lib/ext目录下的一些扩展的jar。

    • AppClassLoader:主要负责加载应用程序的主函数类

1.类加载器收到类加载的请求

2.将这个请求向上委托给父类加载器去完成,一直向上委托,直到启动类加载器

3.启动类加载器检查是否能够加载当前这个类,能加载就结束,使用当前的加载器,否则,抛出异常,通知子加载器进行加载

4.重复步骤3

类加载器双亲委派机制

原文:https://www.cnblogs.com/IanIan/p/13840315.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!