Java Hello 程序内部详解

2025年03月30日 | 阅读 1 分钟

在上一个部分,我们创建了 Java Hello World 程序,并学习了如何编译和运行 Java 程序。在本节中,我们将学习在编译和运行 Java 程序时会发生什么。此外,我们还将看到一些基于第一个程序的问题。

编译时会发生什么?

在编译时,Java 源文件会被 Java 编译器编译(它不与操作系统交互),并将 Java 代码转换为字节码。

compilation of simple java program

运行时会发生什么?

运行时,将执行以下步骤:

Java Runtime Processing

类加载器(Classloader):它是 JVM 的一个子系统,用于加载类文件。

字节码校验器(Bytecode Verifier):它会检查代码片段是否存在可能违反对象访问权限的非法代码。

解释器(Interpreter):它读取字节码流,然后执行指令。

问)Java 源文件名可以与类名不同吗?

可以,前提是该类不是 public 类。下图对此进行了说明。

how to save simple java program by another name
编译javac Hard.java
执行java Simple

请注意,我们是用文件名编译代码,但使用类名来运行程序。因此,Java 程序可以保存为与类名不同的文件名。

问)一个 Java 源文件可以包含多个类吗?

可以,如下图所示。

how to contain multiple class in simple java program