JVM与GC原理-JVM运行流程

时间:2024-04-22 07:02:58

Java 虚拟机(Java Virtual Machine,JVM)是 Java 平台的核心组件之一,它是一个在实际硬件和操作系统上模拟运行 Java 字节码的虚拟计算机

Java 程序被执行的顺序通常包括以下几个步骤:

  1. 编辑(Edit):程序员编写 Java 源代码文件(.java 文件),其中包含类、方法、变量等定义。

  2. 编译(Compile):使用 Java 编译器(javac)将源代码文件编译成字节码文件(.class 文件)。编译过程将源代码文件转换为平台无关的字节码。

  3. 加载(Load):Java 虚拟机(JVM)加载字节码文件到内存中,并对字节码进行验证、准备和解析等操作。

  4. 链接(Link):在链接阶段,JVM 将字节码文件中的符号引用转换为直接引用,并生成可执行代码。链接包括三个子阶段:

    • 验证(Verification):确保字节码文件符合 Java 虚拟机规范,防止恶意代码和错误代码对系统造成损害。
    • 准备(Preparation):为类的静态变量分配内存空间,并设置默认初始值。
    • 解析(Resolution):将符号引用转换为直接引用,即将类、方法、字段等在内存中的地址解析出来。
  5. 初始化(Initialization):在初始化阶段,JVM 执行类的初始化代码,对静态变量赋初值,并执行静态代码块。初始化阶段是类加载过程中的最后一个阶段,只有在初始化之后,类才能被真正使用。

  6. 执行(Execution):JVM 执行程序的主方法(main() 方法),从 main() 方法开始执行程序的主要逻辑。程序的执行顺序由代码中的逻辑和控制流程决定,可以包括方法调用、条件语句、循环结构等。

以上是 Java 程序执行的一般顺序,每个步骤都是逐步进行的,直到程序完全执行结束。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述