zoukankan      html  css  js  c++  java
  • Jvm--双亲委派机制

    什么是类加载器?

    类加载器是jre的一部分,负责动态将类添加到Java虚拟机。
    在这里插入图片描述

    类加载分类

    1、启动类加载器 bootstrap classloader :加载jre/lib/rt.jar

    2、扩展类加载器 extension classloader :加载jre/lib/ext/*.jar

    3、应用程序类加载器 application classloader:加载classpath上指定的类库

    双亲委派机制

    双亲委派机制是指当一个类加载器收到一个类加载请求时,该类加载器首先会把请求委派给父类加载器。每个类加载器都是如此,只有在父类加载器在自己的搜索范围内找不到指定类时,子类加载器才会尝试自己去加载。

    双亲委派模型工作工程:
      1.当Application ClassLoader 收到一个类加载请求时,他首先不会自己去尝试加载这个类,而是将这个请求委派给父类加载器Extension ClassLoader去完成。

    2.当Extension ClassLoader收到一个类加载请求时,他首先也不会自己去尝试加载这个类,而是将请求委派给父类加载器Bootstrap ClassLoader去完成。

    3.如果Bootstrap ClassLoader加载失败(在<JAVA_HOME>lib中未找到所需类),就会让Extension ClassLoader尝试加载。

    4.如果Extension ClassLoader也加载失败,就会使用Application ClassLoader加载。

    5.如果Application ClassLoader也加载失败,就会使用自定义加载器去尝试加载。

    6.如果均加载失败,就会抛出ClassNotFoundException异常。

    • 1.类加载器收到类加载的请求
    • 2.将这个请求向上委托给父类加载器去完成
    • 3.启动加载器检查是否能够加载当前这个类,能加载就结束,使用当前的加载器。否则,抛出异常,通知子加载器加载
    • 4.重复步骤3
    • Null:java调用不到~ C,C++
  • 相关阅读:
    oracle添加字段,备注
    oracle对日期date类型操作的函数
    查询效率例子收藏
    webuploader.min.js 简单例子
    select 数字/字符串/count(参数)/sum(数字) from table
    oracle常用分析函数 over(partition by xxx order by xxx)
    LigerUi遮罩的两个方法
    LigerUI子父窗口之间传参问题
    LigerUi自动检索输入
    LigerUi折叠与展开
  • 原文地址:https://www.cnblogs.com/zhahu/p/12576352.html
Copyright © 2011-2022 走看看