java
和 javac
是 Java 开发工具包 (JDK) 中的两个重要命令,它们之间存在一些关键区别:
功能:
java
命令用于运行 Java 程序。当你编译并创建一个 Java 类文件后,可以使用 java
命令来执行这个类。javac
命令用于编译 Java 源代码文件(扩展名为 .java
)。它将 Java 源代码转换为 Java 字节码文件(扩展名为 .class
),这样其他 Java 程序或运行时环境才能执行它。参数:
java
命令接受一个主类名作为参数,例如:java MyProgram
。这将运行名为 “MyProgram” 的类。javac
命令接受一个或多个 Java 源文件名作为参数,例如:javac MyProgram.java
。这将编译指定的 Java 源文件。输出:
java
命令没有直接的输出文件,它的输出显示在控制台上。当然,程序的输出可以重定向到一个文件中,但这需要手动操作。javac
命令将编译后的字节码文件输出到与源文件同名的 .class
文件中。如果源文件名包含包声明,输出文件名将遵循相同的包结构。依赖:
java
命令可以运行已编译的 Java 程序,即使它们依赖于其他库或框架。但是,为了确保程序能正确运行,这些依赖需要在运行时可用。javac
命令在编译时会检查 Java 源代码中的类型和语法错误。它不会自动处理外部库的依赖。为了使用外部库,需要将它们添加到类路径(classpath)中。总之,java
用于运行 Java 程序,而 javac
用于编译 Java 源代码。这两个命令在软件开发过程中起着不同的作用,分别负责程序的运行和构建。