簡體   English   中英

使用 javac 的區別<file>和 java<file></file></file>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM