虽然一开始你的问题可能显得微不足道, 但这只是因为JVM的外表 多么好,
final class WorldGreeter {
public static void main(final String[] argv) {
System.out.println("Greetings, Earth!");
}
}
通过该规格的第五章,即 Loading, linking, and 初始化 ,阅读该规格的第五章,即loading, linking, and 初始化 ,你可以看到虚拟机器必须做很多工作才能运行最简单的程序。
为了指出所有这些复杂阶段的必要性,我假设你将使用标准 Oracle JDK ;根据,你将期待系统初始化。 需要相当一点工作, 即加载几个不同的班级, 更重要的是, 一个能工作的 JNI 层。
现在,你不需要使用甲骨文JDK执行程序... 当然,你可以使用更简单的设置, 但大部分的结构和工作 仍然处于装载、连接和初始化阶段。 它不像你的直觉告诉你的那么容易。