这可能听起来像一个愚蠢的问题。 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