這可能聽起來像一個愚蠢的問題。 Sun的核心類文件位於JDK安裝文件夾C:\Program Files\Java\jdk1.5.0_12
的哪裏,如Button.class
?位於JDK文件夾中的類文件在哪裏?
或者類文件駐留在C:\Program Files\Java\jre1.5.0_12
文件夾中?
這可能聽起來像一個愚蠢的問題。 Sun的核心類文件位於JDK安裝文件夾C:\Program Files\Java\jdk1.5.0_12
的哪裏,如Button.class
?位於JDK文件夾中的類文件在哪裏?
或者類文件駐留在C:\Program Files\Java\jre1.5.0_12
文件夾中?
它們分佈在幾個罐子之間。它看起來像Button在jre/lib/rt.jar中。
類文件實際上駐留在所使用的Java分發內部的jar文件中。大多數文件都在rt.jar(運行時)。
大多數開發人員機器實際上有兩種形式的Java安裝。 JDK(在開發和包含編譯器時經常使用)以及下載的基於Java的應用程序使用的JRE,以及您的Web瀏覽器。這些通常是兩個不相互瞭解的獨立發行版。所以不幸的是,你的問題的答案是「取決於你正在運行的是什麼」。更糟糕的是,JDK可能會包含它自己的JRE副本......
這是所謂的classpath地獄的來源之一,因爲它並不總是清楚你在運行時使用的是什麼一個java程序。
如果從命令行運行java,有時可以檢測到正在使用的確切版本。
如果您使用Eclipse,則可以選擇正在使用的JDK的版本。
只是爲了澄清,nondeveloper機器經常有JRE而不是JDK。 – Uri 2009-01-19 21:47:18
兩者都有。
它們是兩個不同的JVM的安裝。一個用來編譯(JDK代表Java開發工具包) ,另一個是大多數客戶機有(JRE代表的Java Runtime Environment)Java環境
眼光放在任何這兩個名爲文件:
rt.jar
這是平臺的核心所在。
你可以通過思考檢查自己的任何課程。
例如,我可以在哪裏找到位於類路徑中的我的String類? 易
URL url = String.class.getResource("String.class");
System.out.println(url);
看來,她已經安裝了JDK和JRE和JDK包含JRE,所以JRE/lib目錄/ rt.jar的是模糊 – Uri 2009-01-19 22:43:55