Java 教程-编译和运行 Java 程序时会发生什么?

在前一节中,我们成功创建了Java Hello World程序,并学习了如何对其进行编译和运行。现在,让我们进一步了解在编译和运行Java程序时发生了什么,并探讨一些与我们的第一个程序相关的问题。
编译时会发生什么?
编译时,Java文件会被Java编译器处理。这个编译器并不与操作系统直接交互,而是负责将我们编写的Java代码转换为字节码。
运行时会发生什么?
在运行时,执行以下步骤:
Classloader:是JVM的子系统,用于加载类文件。
字节码验证器:检查代码片段中是否存在可能违反对象访问权限的非法代码。
解释器:读取字节码流然后执行指令。
Q) 可以用类名以外的名称保存 Java 源文件吗?
是的,如果班级不公开。下图对此进行了解释:
编译: | javac Hard.java |
---|---|
执行: | java 简单 |
请注意,我们使用文件名编译代码,但使用类名运行程序。因此,我们可以保存一个Java程序而不是类名。
Q) 一个 java 源文件中可以有多个类吗?
是的,如下图所示: