Java类加载过程

前言

Java程序(.java)通过javac编译器生成二进制的字节码文件(.class文件),Java虚拟机再将class字节码解释成可执行的机器码。所以在不同的平台,只要有Java虚拟机,那么就可以把字节码解释成对应平台的机器码,即Java被称作“与平台无关的编程语言”。

一、概述

  • Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称为类的加载机制
  • 类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略为java应用提供了极高的扩展性和灵活性,java天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接的这个特定实现的。

二、类的生命周期

Java类加载过程_第1张图片

三、类的加载过程

Java类加载过程_第2张图片

四、注意事项

  • 连接的第二阶段:准备
    是给非final的static变量分配内存和初始化
    因为final变量在编译的时候就会分配了

你可能感兴趣的:(JVM基础,java,开发语言,后端)