【问题标题】:Where are the class files located in JDK folder?JDK文件夹中的类文件在哪里?
【发布时间】:2009-01-19 21:39:57
【问题描述】:

这听起来像是一个愚蠢的问题。 Sun 的核心类文件在哪里,例如 Button.class,位于 JDK 安装文件夹 C:\Program Files\Java\jdk1.5.0_12 中?

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

【问题讨论】:

    标签: java jdk1.5


    【解决方案1】:

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

    【讨论】:

    • 看来她已经安装了JDK和JRE,而且JDK中包含了一个JRE,所以jre/lib/rt.jar有歧义
    【解决方案2】:

    类文件实际上以 jar 文件的形式存在于所使用的 Java 发行版中。大多数文件都在 rt.jar(运行时)中。

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

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

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

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

    【讨论】:

    • 澄清一下,非开发人员的机器通常有 JRE 而没有 JDK。
    【解决方案3】:

    两者兼而有之。

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

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

    rt.jar
    

    平台的核心所在。

    【讨论】:

      【解决方案4】:

      您可以通过反射检查自己是否有任何课程。

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

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-05-28
          • 2017-08-27
          • 2014-11-18
          • 2019-09-05
          • 2011-12-19
          • 2012-03-11
          • 2021-01-31
          • 2014-10-04
          相关资源
          最近更新 更多