2009-01-19 68 views
2

這可能聽起來像一個愚蠢的問題。 Sun的核心類文件位於JDK安裝文件夾C:\Program Files\Java\jdk1.5.0_12的哪裏,如Button.class位於JDK文件夾中的類文件在哪裏?

或者類文件駐留在C:\Program Files\Java\jre1.5.0_12文件夾中?

回答

3

它們分佈在幾個罐子之間。它看起來像Button在jre/lib/rt.jar中。

+0

看來,她已經安裝了JDK和JRE和JDK包含JRE,所以JRE/lib目錄/ rt.jar的是模糊 – Uri 2009-01-19 22:43:55

2

類文件實際上駐留在所使用的Java分發內部的jar文件中。大多數文件都在rt.jar(運行時)。

大多數開發人員機器實際上有兩種形式的Java安裝。 JDK(在開發和包含編譯器時經常使用)以及下載的基於Java的應用程序使用的JRE,以及您的Web瀏覽器。這些通常是兩個不相互瞭解的獨立發行版。所以不幸的是,你的問題的答案是「取決於你正在運行的是什麼」。更糟糕的是,JDK可能會包含它自己的JRE副本......

這是所謂的classpath地獄的來源之一,因爲它並不總是清楚你在運行時使用的是什麼一個java程序。

如果從命令行運行java,有時可以檢測到正在使用的確切版本。

如果您使用Eclipse,則可以選擇正在使用的JDK的版本。

+0

只是爲了澄清,nondeveloper機器經常有JRE而不是JDK。 – Uri 2009-01-19 21:47:18

0

兩者都有。

它們是兩個不同的JVM的安裝。一個用來編譯(JDK代表Java開發工具包) ,另一個是大多數客戶機有(JRE代表的Java Runtime Environment)Java環境

眼光放在任何這兩個名爲文件:

rt.jar 

這是平臺的核心所在。

0

你可以通過思考檢查自己的任何課程。

例如,我可以在哪裏找到位於類路徑中的我的String類? 易

URL url = String.class.getResource("String.class"); 
System.out.println(url);