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一样吗?
如果您能回答这些问题或帮助我澄清一下,将不胜感激:
是的,这可能会令人困惑。
你没有要求,但我会从这里开始。JVM 是 Java 虚拟机。它是一个程序,可以读取编译的Java代码(.class文件和.jar文件,这些文件只是.zip文件,其中包含一堆打包在一起的.class文件)并执行它。有许多JVM,例如,您需要一个用于Windows的JVM,一个用于Linux的JVM,一个用于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:
关于编号,他们搞砸了不少。实际上,在Java 1.4之后,他们创建了JCP,让社区参与Java本身的开发,从Java 1.5开始,它被正式命名为“Java 5”,尽管业内大多数人称之为1.5。另外,Java 1.2是Java 2,但是我认识的当时不在Sun工作的人都总是称它为1.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 Development Kit。当您下载Java时,您可以获得JRE(Java运行时环境),它只允许您运行已经编译的Java应用程序,或者您可以获得JDK,它允许您编译和运行Java应用程序。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一样吗?
是的。