在java运行中,JVM会自动加载类,本篇文章就来了解下jvm的类加载机制及原理。
在JVM中,类的装载一般会由ClassLoader与它的子类来实现,Java ClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。
在Java中,类装载器会把一个类装入java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析。
装载:查找和导入类或接口的二进制数据;
链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;
校验:检查导入类或接口的二进制数据的正确性;
准备:给类的静态变量分配并初始化存储空间;
解析:将符号引用转成直接引用;
初始化:激活类的静态变量的初始化Java代码和静态Java代码块。
类加载过程如下:
具体一共经历了四个阶段,分别是加载、连接、初始化、使用。
在这四个阶段当中,连接又涵盖了验证、准备、解析这3个步骤。
如图:
PS:Java语言本身是支持运行时绑定的,因此,解析阶段也是可以在初始化之后进行的。
除此之外,还要注意,上面的这些顺序,说的都只是开始的顺序,但是,实际上来说的话,过程是交叉进行的,加载过程当中,很有可能验证就已经开始了。
以上就是本篇文章的所有内容,更多java架构师相关内容可以关注奇Q工具网了解。
推荐阅读: