zoukankan      html  css  js  c++  java
  • 关于JDK中自带的类加载器

    1、关于JDK中自带的类加载器
        1.1、什么是类加载器?
                专门负责加载类的命令/工具
                 ClassLoader


        1.2、JDK中自带了3个类加载器
            启动类加载器
            扩展类加载器
            应用类加载器


        1.3、假设有这样一段代码:
            String s = "abc";
            代码在开始执行前,会将所需要的类全部加载到JVM中。
            通过类加载器加载,看到以上代码类加载器会找String.class文件
            ,找到就加载,那么是怎样进行加载的呢?
            /*********************************************/
            首先通过”启动类加载器“加载。
            注意:启动类加载器专门加载:D:JavaJDKjdk-8u25jrelib t.jar
            下的类,rt.jar中都是JDK中最核心的类库。

        如果通过”启动类加载器“加载不到的时候,会通过”扩展类加载器“加载。
        注意:扩展类加载器专门加载:D:JavaJDKjdk-8u25jrelibext*.jar下的类

        如果”扩展类加载器“也没有加载到,那么会通过”应用类加载器“加载。
        注意:应用类加载器专门加载:classpath(环境变量配置中的classpath)中
                  的jar包(class文件)


        1.4、java中为了保证类加载的安全,使用了双亲委派机制。
            优先从启动类加载器中加载,这个成为”父“
            ”父“无法加载到,再从扩展类加载器中加载,这个称为”母“
            双亲委派,如果都加载不到,才会考虑从应用类加载器中加载。
            知道加载到为止。

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/zz-newbie/p/14836750.html
Copyright © 2011-2022 走看看