65

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


  • 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一样吗?
4

4 回答 4

94

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

你没有要求,但我会从这里开始。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和标准库的改进,所以两者通常需要一起运行,并且打包在杰瑞。

如果您在计算机上运行任何 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,但我认识的当时不在Sun 工作的每个人都称它为 1.2

于 2012-06-01T23:00:29.170 回答
21

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一样吗?

是的。

于 2012-06-01T22:59:40.603 回答
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

于 2012-06-01T22:49:57.580 回答
1

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

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

版本号有 1.7 被命名为 java 7。你可以得到这个版本的 SE 版本或 SDK。

无论如何,您可以在 Wikipedia 上找到全部信息

于 2012-06-01T22:56:06.060 回答