使用';编译类时,Java 11不会生成.class文件;java';
我已经安装了Java11。当我运行用于编译和运行代码的命令使用';编译类时,Java 11不会生成.class文件;java';,java,javac,java-11,Java,Javac,Java 11,我已经安装了Java11。当我运行用于编译和运行代码的命令java时,它编译并运行程序,以CMD显示输出,但不生成任何.class文件 你能解释一下为什么它不生成.class文件吗?看看 自Java 11以来,Java FileName.Java编译并运行FileName.Java;但是,编译发生在“幕后”,没有显式地生成相应的.class文件。相反,它直接将相应的字节码加载到JVM实例中 动机 单文件程序(整个程序都放在一个源文件中)在学习Java的早期阶段以及编写小型实用程序时很常见。在这种
java
时,它编译并运行程序,以CMD显示输出,但不生成任何.class
文件
你能解释一下为什么它不生成.class
文件吗?看看
自Java 11以来,Java FileName.Java
编译并运行FileName.Java
;但是,编译发生在“幕后”,没有显式地生成相应的.class
文件。相反,它直接将相应的字节码加载到JVM实例中
动机
单文件程序(整个程序都放在一个源文件中)在学习Java的早期阶段以及编写小型实用程序时很常见。在这种情况下,在运行程序之前必须编译程序是一种纯粹的仪式。此外,单个源文件可能编译为多个类文件,这为“运行此程序”的简单目标增加了打包开销。希望能够使用java启动器直接从源代码运行程序:
如果希望将.class
文件作为输出,则仍应使用javac
,如下所示:
javac FileName.java
javac FileName.java