• 类加载器双亲委派机制


    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

  • 相关阅读:
    Hbuilder连接第3方模拟器(夜神)
    localStorage H5本地存储
    各种经典教程的收集分享
    laravel学习教程整理
    js-打地鼠游戏开发
    我的文件备份
    jQuery Ajax 简单的实现跨域请求
    HTML如何编写为桌面程序
    js调用打印机
    js base64加密解密
  • 原文地址:https://www.cnblogs.com/IanIan/p/13840315.html
Copyright © 2020-2023  润新知