4

这听起来像是一个愚蠢的问题。Sun 的核心类文件Button.class在 JDK 安装文件夹中的什么位置C:\Program Files\Java\jdk1.5.0_12

或者类文件是否驻留在C:\Program Files\Java\jre1.5.0_12文件夹中?

4

5 回答 5

3

它们分布在几个罐子之间。看起来 Button 虽然在 jre/lib/rt.jar 中。

于 2009-01-19T21:45:42.883 回答
2

类文件实际上作为 jar 文件驻留在所使用的 Java 发行版中。大多数文件都在 rt.jar(运行时)中。

大多数开发人员机器实际上都安装了两种形式的 Java。JDK(您在开发时经常使用并包含编译器),以及下载的基于 Java 的应用程序使用的 JRE,通常是您的 Web 浏览器。这些通常是两个相互不了解的独立分布。因此,不幸的是,您的问题的答案是“取决于您正在运行的是什么”。更糟糕的是,JDK 可能包含它自己的 JRE 副本......

这就是所谓的类路径地狱的来源之一,因为在运行 java 程序时并不总是清楚自己在使用什么。

如果从命令行运行 java,有时可以检测到正在使用的确切版本。

如果您使用 Eclipse,您可以选择您正在使用的 JDK 版本。

于 2009-01-19T21:46:02.540 回答
1

双方。

它们是两种不同的 JVM 安装。一种用于编译(JDK代表Java Development Kit),另一种是大多数客户机器拥有的Java环境(JRE代表Java Runtime Environment)

在这两个中的任何一个上查找一个名为:

rt.jar

平台核心所在的地方。

于 2009-01-19T21:46:28.407 回答
0

您可以通过反思检查自己的任何课程。

例如,我在哪里可以找到位于类路径中的 String 类?简单的

URL url = String.class.getResource("String.class");
System.out.println(url);
于 2013-01-24T17:57:48.793 回答
0

JRE中其实也有包含。虽然 JDK 有她的 JRE 副本,所以我们可能会说 JDK 和 JRE,但实际上 java inbuild 类包含在 JRE 中。

于 2021-11-15T06:55:03.160 回答