Java 编译时变化
Hello Java 程序的内部详细信息
在上一节中,我们创建了 Java Hello World 程序并学习如何编译和运行 Java 程序。在本节中,我们将学习编译和运行 Java 程序时会发生什么。此外,我们将看到一些基于第一个程序的问题。
编译时会发生什么?
在编译时,Java 文件由 Java 编译器编译(它不与操作系统交互)并将 Java 代码转换为字节码。
运行时会发生什么?
在运行时,将执行以下步骤:
- Classloader:它是 JVM 的子系统,用于加载类文件。
- Bytecode Verifier:检查代码片段中是否存在可能违反对象访问权限的非法代码。
- Interpreter:读取字节码流,然后执行指令。
问:是否可以使用类名以外的其他名称保存 Java 源文件?
是的,如果类不是公开的。如下图所示:
要编译: javac Hard.java
执行: java Simple
请注意,我们使用文件名编译了代码,但使用类名运行程序。因此,我们可以保存类名以外的 Java 程序。
问:您可以在 Java 源文件中包含多个类吗?
是的,如下图所示: