【问题标题】:Java JDK, SDK, SE?Java JDK、SDK、SE?
【发布时间】:2012-06-07 03:53:12
【问题描述】:

如果您能回答这些问题或帮助我清楚一点,将不胜感激:


  • Java 7 只是 Java SE 7 吗? Java 6 是 Java SE 6 吗?
  • Java SE 7 也是 Java JDK 7 吗?还有JDK是什么?
  • 这是否意味着Java JDK与Java号(Java SE 7)相同?
  • 什么是 java 1.5 和 1.6?以及它与 Java 编号 (Java SE...) 的对应关系如何?
  • Java的SDK和JDK一样吗?

【问题讨论】:

    标签: sdk java


    【解决方案1】:

    是的,这可能会令人困惑。

    你没有要求,但我会从这里开始。 JVM 是 Java 虚拟机。它是一个程序,可以读取已编译的 Java 代码(.class 文件和 .jar 文件,它们只是包含一堆 .class 文件打包在一起的 .zip 文件)并执行它。 JVM 有很多,例如您需要一个用于 Windows 的 JVM,一个用于 Linux,一个用于 OSX 等,但也有许多替代 JVM,用于嵌入式设备的 JVM 等(许多人会不同意并说 JVM 只是一个,它是一个规范。但是,通常系统管理员会说“JVM”来指示服务器上运行的实际二进制文件)。

    您也没有要求以下内容。 JRE 是 Java 运行时环境。它包括运行 Java 应用程序所需的一切,即 JVM 本身、标准库和一堆其他文件。标准库本身就非常重要,因为它包含了很多您在开发 Java 应用程序时会用到的有用的东西。它包含 java.* 包中的所有内容和 com.sun、com.oracle 包中的一些私有内容。

    Java 的不同版本(1.0、1.1 等一直到 1.7,也称为 Java 7)通常都包含对 JVM 和标准库的改进,因此两者通常需要一起运行,并且被打包一起在 JRE 中。

    如果您在计算机上运行任何 Java 程序,则说明您已安装 JRE。

    JDK 是 Java 开发工具包。它包含 JRE 以及许多其他对开发 Java 应用程序有用的东西。这显然包括编译器(出于某种充分的原因,它也包含在 JRE 中,但您现在可以忽略这个事实)、用于创建 .jar 文件的 JAR 实用程序、许多用于“反编译”类文件的工具、检查 .jar 文件、重新包装它们,等等。

    它通常还包含标准库的文档以及标准库的所有源代码,因为它们对开发人员阅读和检查很有用。如果你想认真开发Java应用程序,你需要JDK。

    当谈到 JavaSE、JavaEE、JavaME 等时,这些都是所谓的“版本”。基本上,由于 Java 生态系统非常庞大,Sun 决定提供不同版本的 Java:

    • JavaSE:是标准版,通常非常适合客户端软件、普通应用程序等。
    • JavaME:是移动版,它是用于制作旧手机上的小游戏的,但它基本上是适用于容量极低的处理器的“较小”版本的 Java。
    • JavaEE:是“企业版”。它用于开发服务器端的东西,所以它包含了很多服务器端使用的库。

    关于编号,他们搞砸了。实际上,在 Java 1.4 之后,他们创建了 JCP,让社区参与到 Java 本身的开发中,从 Java 1.5 开始,它被正式命名为“Java 5”,尽管业内大多数人都称它为 1.5。此外,Java 1.2 是 Java 2,但我认识的每个人都不是 working in Sun at that time always called it 1.2

    【讨论】:

    • 当你下载 Java(比如 Java 7)时,它是否带有 JVM。
    • 是的,JVM 是 JRE 的组件之一。 JDK 还包含 JRE。所以是的,你也将拥有 JVM。实际上,“JVM”(如这里所指,不是 JVM 规范,实际的二进制文件)是“java.exe”程序,它是您在启动 java 程序时看到的 DLL(或 java 命令和相关的 .so,如果您是在 *nix 或 osx 下)
    • 非常感谢,真的解释了很多:)
    • 确实很好的解释。谢谢。
    【解决方案2】:

    Java 7 只是 Java SE 7 吗? Java 6 是 Java SE 6 吗?

    是的。

    有几个 Java“版本”,即 Java SE,“标准版”,Java EE,“企业版”和 Java ME,“微型版”。

    “Java N”,其中 N 是某个数字,指的是 SE。 Java EE 有单独的版本号,现在最高为版本 6。 Java ME 也有自己的版本——目前是第 3 版。Java ME 适用于移动设备和小型设备。

    Java EE 是一组库和接口,例如构建在 Java SE 之上的 EJB、JMS、JNDI、Servlets/JSP。

    Java SE 7 也是 Java JDK 7 吗?还有JDK是什么?

    JDK = Java 开发工具包。当您下载 Java 时,您可以获得仅允许您运行已编译的 Java 应用程序的 JRE(Java 运行时环境),或者您可以获得允许您编译和运行 Java 应用程序的 JDK。 Java SE 7 指的是 JDK 和 JRE。

    这是否意味着java JDK与java编号相同(Java SE 7)?

    是的。

    什么是 java 1.5 和 1.6?以及它与 java 编号 (Java SE...) 的对应关系如何?

    Sun 对 Java 的编号在中途发生了变化,有点令人困惑。他们从 1.0 到 1.1,然后是 1.2。然后他们决定将 1.2 称为“Java 2”,这个标签一直持续到 Java 1.4。然后 Java 5 被称为 1.5 和 5.0 并且一直持续 - Java 7 也是 Java 1.7,Java 6 也是 Java 1.6,等等。

    Java的SDK和JDK一样吗?

    是的。

    【讨论】:

    • Java2 的名称适用于从 1.2 版到 java 1.4.2 的每个 Java 版本。
    【解决方案3】:

    答案 1:SE 代表标准版。就像现在每个 JRE 都在标准版中一样,因此您可以将 Java 7 和 Java SE 7 视为同一个东西。

    答案 2:JDK 代表 Java Development Toolkit。 Java SE 是技术,JDK 是用于开发该技术的工具集。

    答案 3:技术上是的。实际上,您最有可能在“Java 6”旁边看到“JDK 1.6”,在“Java 7”旁边看到“JDK 1.7”等等。

    答案 4:我猜与 3 相同。

    答案 5:Java 的软件开发工具包等于 Java 的开发工具包,所以是的。

    此图可能会有所帮助:

    http://www.oracle.com/technetwork/java/javase/tech/index.html

    【讨论】:

    • Java SE 代表标准版(与 EE 或企业版相对),而不是第二版。
    【解决方案4】:

    SE = 标准版,java 的标准版,通常只命名为 java X。另一个版本是 EE,更面向组件。

    JDK = java 开发工具包,这是用于开发 java 应用程序的 sdk 的子集,是一个框架。

    版本号为1.7的命名为java 7,可以同时获取该版本的SE版本或SDK。

    无论如何你都可以在维基百科上找到全部信息

    【讨论】:

      猜你喜欢
      • 2011-05-22
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 2018-05-09
      • 2023-03-18
      • 2019-07-22
      • 1970-01-01
      相关资源
      最近更新 更多