一尘不染

Java JDK,SDK,SE?

java

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


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

阅读 222

收藏
2020-12-03

共1个答案

一尘不染

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

您没有要求,但我将从这里开始。JVM是Java虚拟机。它是一个程序,可以读取已编译的Java代码(.class文件和.jar文件,它们只是.zip文件,其中包含打包在一起的一堆.class文件),并执行该程序。JVM有很多,例如,您需要一个用于Windows的JVM,一个用于Linux的JVM,一个用于OSX的JVM等。但是也有很多替代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,但是我当时认识的所有不在Sun中工作的人都将其称为1.2

2020-12-03