Hi!欢迎光临陕西省的权威思科、华为、Oracle、红帽、深信服、微软认证培训中心!
| 029-88235527
您现在所在位置:首页 > 新闻资讯 > 最新资讯 >

Java双亲委派机制了解一下

发布日期:2019-12-19 10:57:47点击次数:

分享到:
在介绍双亲委派机制的时候,不得不提ClassLoader。说ClassLoader之前,我们得先了解下Java的基本知识。 

Java是运行在Java的虚拟机(JVM)中的,但是它是怎么就运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由我们得ClassLoader负责将这些class问价加载到JVM中去执行。 

Java双亲委派机制了解一下
 
JVM中提供了三层的ClassLoader:
 
Bootstrap classLoader:主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader。
 
ExtClassLoader:主要负责加载jre/lib/ext目录下的一些扩展的jar。
 
AppClassLoader:主要负责加载应用程序的主函数类
 
那如果有一个Hello.class文件是如何被加载到JVM中的呢?
 
双亲委派机制
 
我打开了我的AndroidStudio,搜索了下“ClassLoader”,然后打开“java.lang”包下的ClassLoader类。然后将代码翻到loadClass方法:
 
    public Class<?> loadClass(String name) throws ClassNotFoundException {
        return loadClass(name, false);
    }
    //              -----