gpt4 book ai didi

使用 'java' 编译类时,Java 11 不会生成 .class 文件

转载 作者:行者123 更新时间:2023-12-03 22:56:45 29 4
gpt4 key购买 nike

我安装了 Java 11。当我运行命令时 java <filename.java> ,为了编译和运行代码,它编译和运行程序,在 CMD 中显示输出,但它不产生任何 .class文件。
你能解释一下为什么它不产生 .class文件?

最佳答案

看看JEP 330 .
从 Java 11 开始,java FileName.java编译并运行 FileName.java ;然而,编译发生在“幕后”,没有明确产生相应的 .class文件。相反,它直接将相应的字节码加载到 JVM 实例中。
动机

Single-file programs (where the whole program fits in a single source file) - are common in the early stages of learning Java, and when writing small utility programs. In this context, it is pure ceremony to have to compile the program before running it. In addition, a single source file may compile to multiple class files, which adds packaging overhead to the simple goal of "run this program". It is desirable to be able to run the program directly from source with the java launcher:

java HelloWorld.java
如果您想拥有 .class文件作为输出,你仍然应该使用 javac , 作为:
javac FileName.java

关于使用 'java' 编译类时,Java 11 不会生成 .class 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64014921/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com