Java 编译时变化



Hello Java 程序的内部详细信息

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

编译时会发生什么?

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

简单 Java 程序的编译

运行时会发生什么?

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

Java Runtime Processing
  • Classloader:它是 JVM 的子系统,用于加载类文件。
  • Bytecode Verifier:检查代码片段中是否存在可能违反对象访问权限的非法代码。
  • Interpreter:读取字节码流,然后执行指令。

问:是否可以使用类名以外的其他名称保存 Java 源文件?

是的,如果类不是公开的。如下图所示:

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