2012-06-01 74 views
37

我将要学习java 7,也做了一些研究,但似乎没有明确回答这些问题,如果你能回答这些问题或帮助我一点也将不胜感激:Java JDK,SDK,SE?


  • 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相同吗?

如果我有这个错误请告诉我。 谢谢,杰克

回答

64

是的,它可能会造成混淆。

你没有要求它,但我会从这里开始。 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生态系统是巨大的,太阳决定提供的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

+0

当您下载Java(例如Java 7)时,它是否随JVM一起提供。 –

+0

是的,JVM是JRE的组件之一。 JDK也包含JRE。所以是的,你也会有JVM。实际上,“JVM”(如此处所述,而不是JVM规范,实际的二进制文件)是“java.exe”程序,它是您在启动java程序时看到的DLL(或者如果您是java程序在* nix或osx下) –

+1

非常感谢,它真的很多解释:) –

2

答案1:SE代表标准版。大多数情况下,现在每个JRE都使用Standard Edition,因此您可以将Java 7和Java SE 7作为同一件事。

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

答案3:技术上是的。实际上,除了“Java 6”,“JDK 1.7”以及“Java 7”等,您最有可能会看到“JDK 1.6”。

答案4:和3一样,我想。

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

此图可能会有帮助:

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

+0

的Java SE代表标准版(而不是EE版或企业版),而不是第二版。 – bobmcn

+0

我已将它放在编辑上,但感谢您的注意。 –

1

SE =标准版,标准版的Java,通常命名不仅仅是Java X.另一个版本是EE,更加面向组件。

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

版本号为1.7的名称为java 7.您可以同时获得此版本的SE版本或SDK。

反正你可以在维基百科找到整个信息

10

是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,Servlet/JSP的。

是Java SE 7中也的Java JDK 7?还有什么是JDK?

JDK = Java开发工具包。当您下载Java时,您可以获得JRE(Java运行时环境),它只允许您运行已编译的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相同吗?

是的。

+1

名称Java2应用于从版本1.2到Java 1.4.2的每个Java发行版。 –

+0

@Mark - 好点。我已经更新了一些答案,以便澄清。 – quux00