jvm加载类原理机制是什么?

TheDisguiser 2020-08-13 17:27:25 java常见问答 9219

在java运行中,JVM会自动加载类,本篇文章就来了解下jvm的类加载机制及原理。

在JVM中,类的装载一般会由ClassLoader与它的子类来实现,Java ClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

在Java中,类装载器会把一个类装入java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析。

装载:查找和导入类或接口的二进制数据;

链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;

校验:检查导入类或接口的二进制数据的正确性;

准备:给类的静态变量分配并初始化存储空间;

解析:将符号引用转成直接引用;

初始化:激活类的静态变量的初始化Java代码和静态Java代码块。

类加载过程如下:

具体一共经历了四个阶段,分别是加载、连接、初始化、使用。

在这四个阶段当中,连接又涵盖了验证、准备、解析这3个步骤。

如图:

jvm加载类原理机制

PS:Java语言本身是支持运行时绑定的,因此,解析阶段也是可以在初始化之后进行的。

除此之外,还要注意,上面的这些顺序,说的都只是开始的顺序,但是,实际上来说的话,过程是交叉进行的,加载过程当中,很有可能验证就已经开始了。

以上就是本篇文章的所有内容,更多java架构师相关内容可以关注奇Q工具网了解。

推荐阅读:

JVM的收集器是指什么?有哪些?

jvm如何查看gc日志?jvm gc日志分析

JVM内存模型原理有哪些?