租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

java的类加载过程是什么,java加载类的三种方式

发布时间:2023-09-19 07:45:43

java的类加载进程是甚么

Java的类加载进程分为以下五个步骤:
1. 加载(Loading):通过类加载器将字节码文件加载到内存中,并创建一个对应的Class对象。这个进程是由类加载器完成的,它会根据类的全限定名查找并读取字节码文件,并将其转化为一个Class对象。
2. 验证(Verification):对加载的字节码文件进行验证,确保其符合Java语言规范。验证进程包括文件格式验证、元数据验证、字节码验证和符号援用验证等。
3. 准备(Preparation):为类的静态变量分配内存,并设置默许初始值。在这个阶段,静态变量会被赋予默许值,比如数值类型的变量被赋值为0,援用类型的变量被赋值为null。
4. 解析(Resolution):将符号援用转换为直接援用。符号援用是一种在编译阶段使用的,和内存地址无关的援用,而直接援用则是可以直接指向内存地址的指针、句柄还是偏移量。解析进程会将符号援用替换为直接援用,以便程序能够直接访问内存中的对象。
5. 初始化(Initialization):为类的静态变量赋予真实的初始值,并履行静态代码块中的代码。在这个阶段,静态变量会被赋予程序中指定的初值,静态代码块中的代码会被履行。同时,如果类中存在父类,则会先初始化父类。
这五个步骤构成了Java类加载的完全进程。