这听起来像是一个愚蠢的问题。Sun 的核心类文件Button.class
在 JDK 安装文件夹中的什么位置C:\Program Files\Java\jdk1.5.0_12
?
或者类文件是否驻留在C:\Program Files\Java\jre1.5.0_12
文件夹中?
它们分布在几个罐子之间。看起来 Button 虽然在 jre/lib/rt.jar 中。
类文件实际上作为 jar 文件驻留在所使用的 Java 发行版中。大多数文件都在 rt.jar(运行时)中。
大多数开发人员机器实际上都安装了两种形式的 Java。JDK(您在开发时经常使用并包含编译器),以及下载的基于 Java 的应用程序使用的 JRE,通常是您的 Web 浏览器。这些通常是两个相互不了解的独立分布。因此,不幸的是,您的问题的答案是“取决于您正在运行的是什么”。更糟糕的是,JDK 可能包含它自己的 JRE 副本......
这就是所谓的类路径地狱的来源之一,因为在运行 java 程序时并不总是清楚自己在使用什么。
如果从命令行运行 java,有时可以检测到正在使用的确切版本。
如果您使用 Eclipse,您可以选择您正在使用的 JDK 版本。
双方。
它们是两种不同的 JVM 安装。一种用于编译(JDK代表Java Development Kit),另一种是大多数客户机器拥有的Java环境(JRE代表Java Runtime Environment)
在这两个中的任何一个上查找一个名为:
rt.jar
平台核心所在的地方。
您可以通过反思检查自己的任何课程。
例如,我在哪里可以找到位于类路径中的 String 类?简单的
URL url = String.class.getResource("String.class");
System.out.println(url);
JRE中其实也有包含。虽然 JDK 有她的 JRE 副本,所以我们可能会说 JDK 和 JRE,但实际上 java inbuild 类包含在 JRE 中。