2 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先,作為一個(gè)小評論,像這樣的聲明
import java.util.List;
只是引入了一個(gè)縮寫,允許您List
稍后在代碼中使用簡單的單詞而不是完整的類名java.util.List
。所以與其說是 import 語句本身,不如說是這樣的類的用法java.util.List
需要一些解釋。
您正確理解,要編譯您的 java 文件,編譯器需要有關(guān)您使用的每個(gè)類的一些信息,并且它通常會在包含該類的某個(gè) jar 文件中找到這些信息。
現(xiàn)在,這個(gè)包含java.util.List
編譯器讀取的類的 jar 文件在哪里?你是對的,它來自 JRE,來自rt.jar
系統(tǒng)類路徑的一部分(Java 編譯器本身是一個(gè)需要基本類本身的 java 程序,所以無論你成功運(yùn)行javac
,你總是有一個(gè)rt.jar
可用的)。
如果您的源代碼使用了來自其他庫的類,則必須在javac
命令行上指定該庫,使用類似-cp
.

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
Jdk = JRE + other tools like you mentioned.
當(dāng)您編譯您的 java 文件并且您使用 java inbuild 庫時(shí),它用于rt.jar
解決依賴關(guān)系,即導(dǎo)入語句。您可以參考下面的鏈接了解 JVM、JDK、JRE 和 OpenJDK 之間的區(qū)別是什么?
添加回答
舉報(bào)