编译和运行 Java 程序时 会发生什么?
在编译时,Java 文件由 Java 编译器编译(它不与操作系统交互)并将 Java 代码转换为字节码。
运行时会发生什么?
在运行时,执行以下步骤:
Classloader:是JVM的子系统,用于加载类文件。
字节码验证器:检查代码片段中是否存在可能违反对象访问权限的非法代码。
解释器:读取字节码流然后执行指令。
Q) 可以用类名以外的名称保存 Java 源文件吗?
是的,如果班级不公开。下图对此进行了解释
编译: | javac Hard.java |
---|---|
执行: | java 简单 |
请注意,我们使用文件名编译代码,但使用类名运行程序。因此,我们可以保存一个Java程序而不是类名。
Q) 一个 java 源文件中可以有多个类吗?
是的,如下图所示:
[](https://gitee.com/fee1024/java-p7 编译模式(Singleton Pattern)