请确认上述声明?
当他们提到 JDK 时,我需要知道他们指的是什么。
请确认上述声明?
当他们提到 JDK 时,我需要知道他们指的是什么。
Java开发工具包(Java Development Kit)通常是我们用于创建Java应用程序的一组工具,包括Java编译器(将JAVA源类翻译为.class字节码文件)、Java虚拟机(执行这些.class文件)、JAR工具(压缩或提取应用程序)等。
Java标准版(Java Standard Edition)通常指构成大多数Java程序基础的核心类,例如集合API(List,Map,Set等),java.lang包中的类,I/O类,线程API,RMI包和类,i18n(国际化)类,JDBC API,当然还有用于创建桌面应用程序和小程序的AWT和Swing类。这些API是所有其他“Java”程序的基础,例如IntelliJ IDEA IDE,Servlet容器(如Tomcat),RDBMS(如Apache Derby)或自定义独立客户端,例如SQuirreL。您可以在JDK中获得这些类(只需打开JDK文件夹下的src.zip文件并查看其中的内容:))。
Java EE是一种规范及其子规范,作为一个整体,定义了一组服务,实现(如GlassFish或IBM的WebSphere)应提供这些服务以符合规范。这些“实现”是所谓的Java EE容器。当您听到人们说“GlassFish是Java EE 1.6实现”时,他们的意思是GlassFish(使用Java标准版类编写的Java程序)提供了Java EE 6系列规范定义的所有功能。
Java EE规范旨在覆盖“企业级”应用程序开发领域中的特定需求,例如Servlet规范用于HTTP请求-响应处理,EJB规范用于事务管理和组件生命周期管理,JMS规范用于消息服务等。Java EE容器(WebLogic,WebSphere,Tomcat)提供这些规范的实际实现作为类。简单地说,这些容器为Java EE API提供了JAR文件。这些JAR文件中的类使用Java SE核心类。我认为最后一句话将Java SE和Java EE联系起来。当您下载 标准 Java 开发工具包时,您会获得 Java 的标准版(Java SE)以及一个带有开发工具(编译器等)的开发形式(JDK)。没有开发工具(编译器等),Java runtime(JRE)是同一套库等。
Java EE 是一组附加的 API/接口(以及通常带有这些接口的某些实现)。这些是用于 Web 应用程序、EJB 等的 API。如果您拥有这些附加的 API 和实现,可以使用 JDK 进行构建。通常情况下,Java EE 应用程序将在应用程序或 Web 容器中运行。
请注意,直到最近,Java SE 被称为 J2SE,而 Java EE 被称为 J2EE。这种情况进一步混淆了许多人(尤其是招聘人员),他们将 J2EE 与 EJB(仅是 Java EE 中的一种技术)混淆。
您并不孤单,很多经验丰富的专业人士都很困惑这些术语的确切含义,Sun 公司也没有帮助解决这个问题,他们推出了 Java 2 v1.6 (或者是 Java 6?),并将 J2EE 改名为 Java EE。
更明确地说
Java SE -- Java标准版,有两个版本:JDK和JRE。JDK有编译器和其他工具。
Java EE -- Java企业版仅是一个标准,由一些主要由接口组成的库组成。虽然可以下载Java EE的“独立”组件,但它们单独并没有太大价值(再次强调,它们主要只是接口),通常会与您用于部署或开发Java EE应用程序的容器捆绑在一起。此外,Java EE包括许多标准(JMS、JSF等等)。
通常情况下,JDK指的是Java SE开发工具包。你也可以在相应的下载页面上看到这个缩写,而不是Java EE开发工具包或Java ME开发工具包的页面。
JDK = Java Development Kit。
Java SE = Java标准版(又称JRE)
Java EE = Java企业版(又称J2EE)
更新:太阳公司并不以其明确的命名约定而闻名(例如Java 1.5和Java 5.0是同一回事)。
总结起来就是: 如果你想要运行Java应用程序,请访问http://www.java.com并点击下载按钮。
如果你想要编写Java应用程序,请访问http://developer.sun.com并浏览页面,直到找到一个大约80MB大小名为"JDK"的下载链接。根据你开发的类型(Web应用程序、控制台应用程序等),有几个不同版本的JDK可供选择。
JDK = Java 开发工具包
Java SE = Java 标准版
Java EE = Java 企业版