Java类加载过程是如何分步实现的?
- 内容介绍
- 相关推荐
本文共计2197个文字,预计阅读时间需要9分钟。
一、类的加载过程 + JVM将类的加载分为三个步骤:1. 装载(Load)+ 2. 链接(Link)+ 3. 初始化(Initialize)+ 其中链接(Link)又分为三个步骤,如图所示:1)装载:查找并加载类的二进制数据+ 2)链接:验证、准备、解析+ 3)初始化:执行类的初始化代码
一、类的加载过程
JVM将类的加载分为3个步骤:
1、装载(Load)
2、链接(Link)
3、初始化(Initialize)
其中 链接(Link)又分3个步骤,如下图所示:
1)
装载:查找并加载类的二进制数据(查找和导入Class文件)
加载是类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情:
1、通过一个类的全限定名来获取其定义的二进制字节流。
2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。
3、在Java堆中生成一个代表这个类的java.lang.Class对象,作为对方法区中这些数据的访问入口。
相对于类加载的其他阶段而言,加载阶段(准确地说,是加载阶段获取类的二进制字节流的动作)是可控性最强的阶段,因为开发人员既可以使用系统提供的类加载器来完成加载,也可以自定义自己的类加载器来完成加载。
加载阶段完成后,虚拟机外部的 二进制字节流就按照虚拟机所需的格式存储在方法区之中,而且在Java堆中也创建一个java.lang.Class类的对象,这样便可以通过该对象访问方法区中的这些数据。
本文共计2197个文字,预计阅读时间需要9分钟。
一、类的加载过程 + JVM将类的加载分为三个步骤:1. 装载(Load)+ 2. 链接(Link)+ 3. 初始化(Initialize)+ 其中链接(Link)又分为三个步骤,如图所示:1)装载:查找并加载类的二进制数据+ 2)链接:验证、准备、解析+ 3)初始化:执行类的初始化代码
一、类的加载过程
JVM将类的加载分为3个步骤:
1、装载(Load)
2、链接(Link)
3、初始化(Initialize)
其中 链接(Link)又分3个步骤,如下图所示:
1)
装载:查找并加载类的二进制数据(查找和导入Class文件)
加载是类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情:
1、通过一个类的全限定名来获取其定义的二进制字节流。
2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。
3、在Java堆中生成一个代表这个类的java.lang.Class对象,作为对方法区中这些数据的访问入口。
相对于类加载的其他阶段而言,加载阶段(准确地说,是加载阶段获取类的二进制字节流的动作)是可控性最强的阶段,因为开发人员既可以使用系统提供的类加载器来完成加载,也可以自定义自己的类加载器来完成加载。
加载阶段完成后,虚拟机外部的 二进制字节流就按照虚拟机所需的格式存储在方法区之中,而且在Java堆中也创建一个java.lang.Class类的对象,这样便可以通过该对象访问方法区中的这些数据。

