阿里资深架构师:讲讲我对JVM架构的理解( 二 )

JVM是如何工作的呢?

正如上面的架构图所示 , JVM被分为三个主要的子系统:

类加载器子系统

运行时数据区

执行引擎

1. 类加载器子系统

Java的动态类加载功能是由类加载器子系统处理 。 当它在运行时(不是编译时)首次引用一个类时 , 它加载、链接并初始化该类文件 。

1.1 加载

类由此组件加载 。 启动类加载器 (Boot Strap class Loader)、扩展类加载器(Extension class Loader)和应用程序类加载器(Application class Loader) 这三种类加载器帮助完成类的加载 。

启动类加载器 – 负责从启动类路径中加载类 , 无非就是rt.jar 。 这个加载器会被赋予最高优先级 。

扩展类加载器 – 负责加载ext 目录(jre\\lib)内的类.

推荐阅读