Java JDK,SDK,SE?

时间:2012-06-01 22:40:30

标签: sdk java

我将学习java 7并做了一些研究,但似乎没有清楚地回答这些问题,如果你能回答这些问题或者帮我一点,我将不胜感激:


  • 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 个答案:

答案 0 :(得分:70)

是的,这可能令人困惑。

你没有要求它,但我会从这里开始。 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 Development Kit。它包含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

答案 1 :(得分:14)

  

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时,您可以获得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相同?

答案 2 :(得分:2)

答案1:SE代表标准版。现在大多数情况下,每个JRE都在标准版中,所以你可以将Java 7和Java SE 7作为同样的东西。

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

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

答案4:与3相同,我想。

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

此图表可能有所帮助:

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

答案 3 :(得分:1)

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

JDK = java开发工具包,这是你用来开发java app的sdk的一个子集,是一个框架。

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

无论如何,您可以在维基百科上找到所有信息