掌握JVM的核心:类加载机制
发布时间
阅读量:
阅读量
研究概述与背景介绍
虚拟机将Class文件中所包含的描述类的数据读取至内存,并对其进行验证、转换解析及初始化处理,最终生成可被虚拟机直接调用的Java类型,这一过程被称为虚拟机的类加载机制。
相较于那些在编译阶段就需要完成链接操作的语言,Java语言中的类型加载、连接与初始化工作均是在程序运行过程中完成的。例如,在import java.util.*语句中所涉及的众多类,只有在程序实际运行时,虚拟机才会根据需求加载相应的类。尽管这种策略会在类加载阶段带来一定程度的性能损耗,但却能够为Java应用程序带来更高的灵活性。
类加载的时机
类在生成之初(此处的类同样可能指代接口,后续内容同理),便具备了明确的生命周期(此处所指的生命周期,表示类在运行过程中所经历的一系列阶段,与是否保存于存储介质中无直接关联)。从虚拟机将类加载至内存开始,直至其被移除出内存为止,整个生命周期依次经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)以及卸载(Unloading)七个关键阶段。其中验证、准备与解析三个步骤共同构成连接阶段。上述七个阶段的具体流程可通过如下图示进行说明:

还没有任何评论哟~
