JDK = Java SE&& JDK!= Java EE?

时间:2010-01-07 22:26:20

标签: java

请确认上述声明?

当他们提到JDK时,我需要知道他们指的是什么。

7 个答案:

答案 0 :(得分:49)

Java Development Kit 是我们通常引用一组工具来创建Java应用程序的方式,包括Java Compiler(将您的JAVA Source类转换为.class字节码文件),Java Virtual机器(执行那些.class文件),JAR工具到ZIP应用程序(或提取它们)等。

Java Standard Edition 通常是指构成大多数Java程序基础的核心类,例如Collections API(List,Map,Set等),以及java.lang包,I / O类,Threading API,RMI包和类,i18n(国际化)类,JDBC API,当然还有用于创建桌面应用程序和applet的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 Standard Edition 类编写的Java程序)提供Java EE 6系列规范的所有功能定义

Java EE规范应该涵盖“企业”应用程序开发领域的特定需求,例如用于HTTP请求 - 响应处理的Servlet规范,用于事务管理和组件生命周期管理的EJB规范,消息传递服务的JMS规范等。 Java EE容器(WebLogic,WebSphere,Tomcat)将这些规范的实际实现提供为类。在过于简化的语句中,这些容器为Java EE API提供JAR。这些JAR文件中的类使用Java SE核心类。我认为最后一句话是Java SE和Java EE之间的联系。

为了解决这个问题,我想说JDK只是你下载和执行的一组程序,用于创建和执行用Java编写的程序。如果您的Java程序只使用“核心类”并且不需要“企业服务”,那么您可以在JSE之上执行Java程序。最后,如果您需要提供某些功能,并且任何Java EE规范的实现都满足您的任何需求,那么您需要处理HTTP请求;您可以根据规范(在本例中为Servlet)创建组件,并将其部署到Java EE容器-Tomcat中,例如 - 。

希望这有帮助

答案 1 :(得分:9)

下载标准 Java开发工具包时,您将以开发形式(JDK)获得标准版Java(Java SE)。 Java运行时(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来提供帮助。

答案 2 :(得分:6)

使用上面的定义,您将找到适用于Java SE的JDK(一组Java功能)和一个用于Java EE的JDK(Java SE中的功能+一些“企业”功能)。

Java标准版和Java企业版是Java语言的定义和API,JDK是使用这些功能开发内容所需的工具。

答案 3 :(得分:3)

更清楚

Java SE - Java标准版,它恰好有两个版本:JDK和JRE。 JDK有编译器和其他工具。

Java EE - Java Enterprise Edition只是一个标准,而且几个库主要由接口组成。虽然可以为Java EE下载“独立”组件,但它们没有什么价值(再次,主要只是接口),并且通常与用于部署或开发Java EE应用程序的容器捆绑在一起。另外,Java EE包含许多标准(JMS,JSF等)的保护伞。

答案 4 :(得分:2)

通常,JDK是指Java SE Development Kit。您还可以在respective download page上看到缩写,而不是Java EE Development Kit或Java ME Development Kit的缩写。

答案 5 :(得分:0)

JDK = java开发工具包。

Java SE = java标准版(又名JRE)

Java EE = java企业版(又名J2EE)


更新:Sun因其明确的命名约定而闻名(例如,Java 1.5和Java 5.0是相同的)。

归结为: 如果您想运行 java应用程序,请转到http://www.java.com并单击“下载”按钮。

如果你想编写 java应用程序,请转到http://developer.sun.com并浏览它,直到找到大约80 MB的下载名为“JDK”。根据您正在开发的内容(Web应用程序,控制台应用程序等),有几种不同版本的JDK。

答案 6 :(得分:-1)

JDK = Java Development Kit

Java SE = Java标准版

Java EE = Java Enterprise Edition