javac
和 java
是 Java 开发工具包 (JDK) 中的两个重要命令,它们在编译和运行 Java 程序时有着不同的作用
-
功能:
javac
:该命令用于将 Java 源代码文件编译成字节码文件(扩展名为 .class)。字节码文件可以在 Java 虚拟机(JVM)上运行。java
:该命令用于从字节码文件(.class)运行 Java 程序。它会将字节码解释为机器代码并执行。
-
使用场景:
- 当你需要编译一个 Java 源代码文件时,需要使用
javac
命令。编译后,会生成一个与源代码文件名相对应的字节码文件。 - 当你需要运行一个已编译的 Java 程序时,需要使用
java
命令。注意,运行时不需要源代码文件。
- 当你需要编译一个 Java 源代码文件时,需要使用
-
参数和选项:
javac
:可以使用-classpath
或-cp
选项指定类路径,以便在编译时找到其他依赖的类或库。还可以使用其他选项,如-d
(指定输出目录)、-sourcepath
(指定源代码目录)等。java
:可以使用-classpath
或-cp
选项指定类路径,以便在运行时找到其他依赖的类或库。还可以使用其他选项,如-D
(设置系统属性)、-version
(显示 Java 版本)等。
-
输出:
javac
:编译完成后,会生成一个或多个字节码文件(.class 文件),这些文件包含了 Java 源代码的编译结果。java
:运行时,不会产生额外的输出文件。程序的输出将直接显示在控制台。
总之,javac
和 java
命令在 Java 开发过程中分别负责编译和运行 Java 程序。它们之间主要的区别在于功能、使用场景以及参数和选项。