Java 虚拟机(Java Virtual Machine,JVM)是 Java 平台的核心组件之一,它是一个在实际硬件和操作系统上模拟运行 Java 字节码的虚拟计算机
Java 程序被执行的顺序通常包括以下几个步骤:
-
编辑(Edit):程序员编写 Java 源代码文件(.java 文件),其中包含类、方法、变量等定义。
-
编译(Compile):使用 Java 编译器(javac)将源代码文件编译成字节码文件(.class 文件)。编译过程将源代码文件转换为平台无关的字节码。
-
加载(Load):Java 虚拟机(JVM)加载字节码文件到内存中,并对字节码进行验证、准备和解析等操作。
-
链接(Link):在链接阶段,JVM 将字节码文件中的符号引用转换为直接引用,并生成可执行代码。链接包括三个子阶段:
- 验证(Verification):确保字节码文件符合 Java 虚拟机规范,防止恶意代码和错误代码对系统造成损害。
- 准备(Preparation):为类的静态变量分配内存空间,并设置默认初始值。
- 解析(Resolution):将符号引用转换为直接引用,即将类、方法、字段等在内存中的地址解析出来。
-
初始化(Initialization):在初始化阶段,JVM 执行类的初始化代码,对静态变量赋初值,并执行静态代码块。初始化阶段是类加载过程中的最后一个阶段,只有在初始化之后,类才能被真正使用。
-
执行(Execution):JVM 执行程序的主方法(main() 方法),从 main() 方法开始执行程序的主要逻辑。程序的执行顺序由代码中的逻辑和控制流程决定,可以包括方法调用、条件语句、循环结构等。
以上是 Java 程序执行的一般顺序,每个步骤都是逐步进行的,直到程序完全执行结束。