[英]what's the Difference between javac file.java and javac file*java in terminal?
[英]Difference between using javac<file> and java<file>
來自一些有經驗的 java 編碼器我想問一下使用之間有什么區別
javac <filename>
java <file_name_without_extention>
和
java <filename>
如果您的源代碼只是一個文件,它們是等價的。 前者(用兩條命令)是編譯運行Java源代碼的一般方式,仍然是編譯較大項目的正確方式。 后者是 JDK 11 中新增的功能,可以更輕松地運行單個文件和非常小的程序。
來自建議該功能的提案
源文件模式下,效果就好像源文件被編譯成memory,找到源文件中的第一個class被執行。 例如,如果名為
HelloWorld.java
的文件包含名為 hello.World 的hello.World
,則命令java HelloWorld.java
非正式地等同於
javac -d <memory> HelloWorld.java java -cp <memory> hello.World
javac <Filename> - a java command that compiles java source files into bytecodes.
它需要一個擴展名,因為您正在編譯源文件。
java -cp <classpath> <Classname> - a java command that executes the compiled bytecodes.
它不需要擴展,因為您只是告訴它從要執行的類路徑中搜索 Class 及其 main() 簽名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.