java.exe和JDK如何执行java源代码?

问题描述 投票:0回答:1

当我的目录中只有

HelloWorld.java
而没有
HelloWorld.class
时,Windows cmd中的
java HelloWorld
引发了类未找到异常。然而,
java HelloWorld.java
被正确执行,而没有做出
HelloWorld.class

据我了解,JVM读取扩展名为.class的文件的字节码,但无法读取.java文件。我知道 java.exe 只是一个创建 JVM 并运行它的启动器,但现在我很困惑它如何与 java 代码而不是字节代码正常工作。

java jvm java-11
1个回答
0
投票

流程步骤为:

  1. 您在
    .java
    文件中编写 Java 源代码,包括
    main
    方法。
  2. 您将该文件提交给编译器,例如与每个 JDK 捆绑在一起的 javac 应用程序。
  3. 编译器输出一个
    .class
    文件。
  4. 您可以通过启动与每个 JDK 捆绑在一起的
    java
    应用程序来执行(运行)main 方法。

您可以跳过一些步骤。

  • 从 Java 11 开始,您可以将 java 应用程序指向
    .java
    文件。 java应用程序会先自动编译,然后运行新编译的类。有关所有详细信息,请参阅 JEP 330:启动单文件源代码程序
© www.soinside.com 2019 - 2024. All rights reserved.