【高级开发进阶】1.1.1 启动类、扩展类、应用程序类加载器

学完本章中,读者需要回答:

1.类加载器的运行过程

2.类加载器分别在JRE的那些位置

3.什么是双亲委派机制?
 

我想大家一开始都想知道一个java文件是怎么在JVM里面运行的?

先上图帮助你理解,如图1.1.1.1所示。

图1.1.1.1 java文件如何在jvm运行的

文字表述一下执行顺序:

  1. 启动虚拟机 (C++负责创建) 【windows : bin/java.exe调用 jvm.dll Linux : java 调用 libjvm.so 】

  2. 创建一个引导类加载器实例 (C++实现)

  3. C++ 调用Java代码,创建JVM启动器,实例sun.misc.Launcher 【这货由引导加载器负责加载创建其他类加载器】

  4. sun.misc.Launcher.getLauncher() 获取运行类自己的加载器ClassLoader --> 是AppClassLoader

  5. 获取

posted @ 2021-01-29 19:46  javawxid  阅读(20)  评论(0编辑  收藏  举报