zoukankan      html  css  js  c++  java
  • ClassLoader Java中类加载出现在哪个阶段,编译期和运行期? 类加载和类装载是一样的吗

    1.ClassLoader Java中类加载出现在哪个阶段,编译期和运行期? 类加载和类装载是一样的吗?

    :当然是运行期间啊,我自己有个理解误区,改正后如下:编译期间编译器是不去加载类的,只负责编译而已,去rt.jar拿数据干嘛,不依然是class文件,jvm是只要是class文件就能运行。

    2.类加载ClassLoader,各个类加载器执行顺序是什么?

    :永远是自己写的加载器先去加载,记住并不是真正的加载,而是双亲委派机制,每个加载器都不真正去加载,而是去让父加载器去加载,想一下,自然界亦是如此,如果父亲有这个东西了,我还去白白辛苦一趟加载干嘛?

    即,xxx.class文件,自己编写的CustomClassLoader不去加载,我先去看看我的父类加载器是否已经加载这个class了->APPClassLoader,我依然不去加载,我再问问我的父类是否已经加载这个class文件了。

    就这样,不断向上推,如果最后的BootStrapClassLoader依然没有加载过这个class文件,并且尝试去加载,结果没找到,就会再U型转回来,想拦截器一样又转回来,由底层加载器不断的向下去委派加载。

    说白了,真正干活最多的是bootStarpClassLoader,其他的类加载器只有在父类绕了一圈都没找到情况下才去加载。即没法依靠老子,只能靠自己了

  • 相关阅读:
    [CF1469D] Ceil Divisions
    [CF632D] Longest Subsequence
    [CF1215E] Marbles
    [CF689D] Friends and Subsequences
    [CF707D] Persistent Bookcase
    [CF10D] LCIS
    [CF713C] Sonya and Problem Wihtout a Legend
    [CF1114E] Arithmetic Progression
    [CF1404B] Tree Tag
    [CF710E] Generate a String
  • 原文地址:https://www.cnblogs.com/panxuejun/p/7813070.html
Copyright © 2011-2022 走看看