2009-01-19 65 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);