书画院网站建设模板,网站开发公司推荐,Wordpress+仿站+工具,PHP网站开发程序员招聘系统加载 Class 类型的文件主要三步#xff1a;加载-连接-初始化。连接过程又可分为三步#xff1a;验证-准备-解析。 通过全限定名来加载生成 class 对象到内存中#xff0c;然后进行验证这个 class 文件#xff0c;包括文件格式校验、元数据验证#xf… 系统加载 Class 类型的文件主要三步加载-连接-初始化。连接过程又可分为三步验证-准备-解析。 通过全限定名来加载生成 class 对象到内存中然后进行验证这个 class 文件包括文件格式校验、元数据验证字节码校验等。准备是对这个对象分配内存。解析是将符号引用转化为直接引用指针引用初始化就是开始执行构造器的代码 。 文章目录 1. 加载2. 验证3. 准备4. 解析5. 初始化 1. 加载
类加载过程的第一步主要完成下面 3 件事情
通过全类名获取定义此类的二进制字节流将字节流所代表的静态存储结构转换为方法区的运行时数据结构在内存中生成一个代表该类的 Class 对象作为方法区这些数据的访问入口
2. 验证
主要验证文件格式、元数据、字节码以及符号引用。
3. 准备
准备阶段是正式为类变量分配内存并设置类变量初始值的阶段。
4. 解析
解析阶段是虚拟机将常量池内的符号引用替换为直接引用的过程。解析动作主要针对类或接口、字段、类方法、接口方法、方法类型、方法句柄和调用限定符 7 类符号引用进行。 符号引用就是一组符号来描述目标可以是任何字面量。直接引用就是直接指向目标的指针、相对偏移量或一个间接定位到目标的句柄。
5. 初始化
初始化阶段是执行初始化方法 ()方法的过程是类加载的最后一步这一步 JVM 才开始真正执行类中定义的 Java 程序代码(字节码)。 声明 文章内容属于站出巨人的肩膀上进行输出总结