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

ajs*_*sie 13 java

请确认以上声明?

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

Yts*_*mer 51

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

Java标准版通常是指核心类构成了大部分的Java程序,比如集合API(列表,地图,集合等)的基础上,在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规范.消息服务等.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中,例如 - .

希望这可以帮助

  • 我会争取后者而不是前者.我认为JDK是一个JRE(虚拟机)加上Java SE类是公平的.为了使您的语句更准确,我将包括那些不太可见的工具,如编译器,JAR工具,JAR签名者以及您使用JDK获得的那些东西.我认为这是一个意见问题.这就是我在原始回复中把我认为的"原始事实"放在原因的原因.最好的,YJ (3认同)

Bri*_*new 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来提供帮助.


alf*_*ozn 6

使用上面的定义,你会发现对Java SE JDK的(一组Java功能),并为Java EE一个JDK(在Java SE +一些"企业"特性的功能).

Java标准版和Java企业版的定义和Java语言的API和JDK的是,你需要使用这些功能来开发一些工具.


Wil*_*ung 5

为了更清楚

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

Java EE——Java 企业版只是一个标准,以及几个主要由接口组成的库。虽然可以下载 Java EE 的“独立”组件,但它们本身没有什么价值(同样,它们大多只是接口),并且通常与您用来部署或开发 Java EE 应用程序的容器捆绑在一起。另外,Java EE 包含许多标准(JMS、JSF 等)。