Java SE/EE/ME 之间的区别?

Difference between Java SE/EE/ME?

提问人:Richard Knop 提问时间:5/18/2010 最后编辑:TarikRichard Knop 更新时间:8/7/2023 访问量:425274

问:

这个问题的答案是社区的努力。编辑现有答案以改进此帖子。它目前不接受新的答案或交互。

当我想开始学习 Java 时,我应该安装哪一个?我将从一些基础知识开始,所以我将编写简单的程序来创建文件、目录、编辑 XML 文件等,目前还不太复杂。

我想Java SE(标准版)是我应该安装在Windows 7桌面上的那个。我已经有了Komodo IDE,我将用它来编写Java代码。

java jakarta-ee java-me

评论

6赞 dexter meyers 2/14/2014
您应该从学习 Java SE 开始,Java EE 一开始可能会有些令人困惑。当您准备好使用它时,请查看这个出色的 Java EE 7 概述页面以开始使用。特别是 Java EE 7 Oracle 教程是一个很好的起点。

答:

2赞 Corv1nus 5/18/2010 #1

如果我是你,我会安装 Java SE SDK。安装后,请确保设置了 JAVA_HOME 环境变量,并将 %JAVA_HOME%\bin 目录添加到路径中。

54赞 duffymo 5/18/2010 #2

Java SE 是构建 Java EE 的基础。

Java ME 是用于移动设备的 SE 的子集。

因此,您应该为您的项目安装 Java SE。

11赞 Péter Török 5/18/2010 #3

是的,Java SE 是起点。您提到的所有任务都可以用它处理。

Java ME 是 Mobile Edition,EE 是 Enterprise Edition;这些是标准版的专用/扩展版本。

8赞 Michael 5/18/2010 #4

是的,您应该从 Java SE 开始,Java EE 用于 Web 应用程序,Java ME 用于移动应用程序,这两者都是基于 SE 构建的。

606赞 6006604 5/18/2010 #5

Java SE = 标准版。这是核心的 Java 编程平台。它包含任何 Java 程序员都应该学习的所有库和 API(java.lang、java.io、java.math、java.net、java.util 等)。

Java EE = 企业版。来自维基百科:

Java 平台(企业版)不同于 Java 标准 Edition Platform (Java SE) 因为它添加了提供 部署容错、分布式、多层 Java 的功能 软件,主要基于运行在 应用程序服务器。

换句话说,如果您的应用程序需要非常大规模的分布式系统,那么您应该考虑使用 Java EE。它建立在 Java SE 之上,提供用于数据库访问(JDBC、JPA)、远程方法调用 (RMI)、消息传递 (JMS)、Web 服务、XML 处理的库,并为 Enterprise JavaBeans、servlet、portlet、Java Server Pages 等定义标准 API。

Java ME = 微型版。这是为移动设备和嵌入式系统(如机顶盒)开发应用程序的平台。Java ME 提供了 Java SE 功能的子集,但也引入了特定于移动设备的库。由于 Java ME 基于早期版本的 Java SE,因此 Java 1.5 中引入的一些新语言功能(例如泛型)不可用。

如果您不熟悉 Java,请务必从 Java SE 开始。

评论

171赞 duffymo 5/18/2010
我不同意向以前从未编写过 Java 代码的人推荐 IDE。首先使用命令行编写一些内容,以便您有机会理解 CLASSPATH 的含义。如果你在理解 Java 之前就使用了 Eclipse,那么这是你不知道的两件大事。
65赞 Felice Pollano 3/22/2015
@duffymo IMO 中,拥有 IDE 推荐实际上是一个好主意,因为使用纯文本编辑器编码对学习新语言没有任何好处,拥有智能感知和自动完成对于已经了解其他生态系统的程序员来说是一个宝贵的帮助熟悉新环境。
5赞 qutab 8/6/2015
@duffymo 5 年后,我仍在阅读这篇文章,因为 Google 把我带到了这里,所以我想开始讨论还是有意义的。不过,在这个特定的例子中,我同意你关于IDE的论点。
8赞 LegendLength 1/7/2016
我认为讨论困难和永恒的问题没有错。
3赞 sparse 6/14/2019
Java EE 现在已经死了。Jakarta EE 正在取代 Java EE:infoq.com/podcasts/milinkovich-jakarta-ee/...
42赞 Jan Bodnar 7/19/2013 #6

根据 Oracle 的文档,实际上有四个 Java 平台:

  • Java 平台标准版 (Java SE)
  • Java 平台企业版 (Java EE)
  • Java 平台微型版 (Java ME)
  • JavaFX

Java SE 用于开发桌面应用程序,它是使用 Java 语言进行开发的基础。它由开发工具、部署技术以及 Java 应用程序中使用的其他类库和工具包组成。Java EE 建立在 Java SE 之上,用于开发 Web 应用程序和大型企业应用程序。Java ME 是 Java SE 的一个子集。它提供了一个 API 和一个占用空间很小的虚拟机,用于在小型设备上运行 Java 应用程序。JavaFX 是一个使用轻量级用户界面 API 创建富 Internet 应用程序的平台。它是 Java 平台系列的最新成员。

严格来说,这些平台是规范;它们是规范,而不是软件。 Java Platform, Standard Edition Development Kit (JDK) 是 Oracle 提供的 Java SE 规范的官方实现。还有其他实现,如 OpenJDK 和 IBM 的 J9。

刚接触 Java 的人会下载适用于其平台和操作系统的 JDK(Oracle 的 JDK 可在此处下载)。

评论

1赞 Javatar 7/16/2014
Java 6 也是如此。Java 7 文档说有 3 个平台,JavaFX 是 Java SE 的一部分。
0赞 AyukNayr 9/19/2018
Java SE 用于开发桌面应用程序,Java EE 用于开发 Web 应用程序和大型企业应用程序。
0赞 Mehdi Charife 6/13/2023
如果 JDK 是 JAVA SE 的实现,那么 JAVA EE 和类似的 Jakarte EE 的实现是什么?
0赞 Jan Bodnar 6/14/2023
应用程序服务器,例如 Glassfish 或 Wildfly。jakarta.ee/compatibility
0赞 user3064248 12/6/2013 #7

SE(JDK) 拥有您在 Java 上崭露头角所需的所有库。 我推荐使用 Netbeans IDE,因为它与 Oracle 直接提供的 SE(JDK) 捆绑在一起。 不要忘记设置“path”和“classpath”变量,特别是如果您要尝试命令行。 对于 64 位系统,在 C:\Windows\system32 之前插入“系统路径”,例如 C:\Program Files (x86)\Java\jdk1.7.0 变量;将系统定向到 JDK。

希望这会有所帮助。

1赞 sandhu 10/22/2014 #8

Java SE 用于桌面应用程序和简单的核心功能。Java EE 不仅用于桌面,还用于 Web 开发、网络和高级设备。

25赞 Tarik 10/17/2015 #9

当我遇到这个问题时,我发现 Oracle 教程中提供的信息非常完整,值得分享:

Java 编程语言平台

Java 编程语言有四个平台:

  • Java 平台标准版 (Java SE)

  • Java 平台企业版 (Java EE)

  • Java 平台微型版 (Java ME)

  • JavaFX

所有 Java 平台都由 Java 虚拟机 (VM) 和 应用程序编程接口 (API)。Java 虚拟机是一个 程序,用于特定的硬件和软件平台,运行 Java 技术应用程序。API 是软件的集合 可用于创建其他软件组件的组件,或者 应用。每个 Java 平台都提供一个虚拟机和一个 API,这允许为该平台编写的应用程序在 任何具有 Java 编程所有优点的兼容系统 语言:平台独立性、动力、稳定性、 易于开发和安全性。

爪哇SE

当大多数人想到 Java 编程语言时,他们会想到 Java SE API。Java SE 的 API 提供了 Java 编程语言。它定义了基本类型的所有内容 和 Java 编程语言的对象到高级类 用于网络、安全、数据库访问、图形化 用户界面 (GUI) 开发和 XML 解析。

除了核心 API 之外,Java SE 平台还包括 虚拟机、开发工具、部署技术等 Java 技术中常用的类库和工具包 应用。

Java EE

Java EE 平台构建在 Java SE 平台之上。爪哇 EE 平台提供了一个 API 和运行时环境,用于开发和 运行大规模、多层、可扩展、可靠且安全 网络应用程序。

爪哇 ME

Java ME 平台提供了一个 API 和一个占用空间小的虚拟 用于在小型计算机上运行 Java 编程语言应用程序的机器 设备,如手机。API 是 Java SE API 的子集, 以及适用于小型设备应用程序的特殊类库 发展。Java ME 应用程序通常是 Java EE 的客户机 平台服务。

JavaFX

JavaFX 是一个使用 轻量级用户界面 API。JavaFX 应用程序使用 硬件加速图形和媒体引擎,可充分利用 更高性能的客户端和现代的外观以及 用于连接到网络数据源的高级 API。JavaFX 应用程序可能是 Java EE 平台服务的客户机。

评论

1赞 Tarik 11/28/2016
@IrfanNasim我知道它是从甲骨文复制而来的,我提到了这一点!你从上面读过答案吗?!你知道吗,在SO中,当你提供一个链接时,你还必须复制重要信息,因为一旦链接不是最新的或不起作用,人们仍然可以阅读链接中的内容!奇怪的是,你有 198 代表,但你仍然不知道规则!!
1赞 romil 10/17/2015 #10

EE:- 企业版:- 这个 Java 版本是专门为企业应用程序/业务设计的,在这些应用程序中,我们必须处理许多不同的服务器,重视安全性、事务管理等。

SE:- 标准版:- 此版本适用于标准应用程序。

ME:- 微型版:- 此 java 版本专为手机平台设计。由于手机中的内存资源有限,因此更重视内存管理。

所以基本上JAVA有不同的版本来满足不同的需求。

3赞 Tapas Pal 11/8/2015 #11

开发人员使用不同版本的 Java 平台来创建在桌面上运行的 Java 程序 计算机、Web 浏览器、Web 服务器、移动信息设备(如功能手机)以及 嵌入式设备(如电视机顶盒)。

Java Platform, Standard Edition (Java SE):用于开发的 Java 平台 应用程序,这些应用程序是在桌面上运行的独立程序。Java SE 是 还用于开发小程序,小程序是在 Web 浏览器中运行的程序。

Java Platform, Enterprise Edition (Java EE):用于开发的 Java 平台 面向企业的应用程序和 Servlet,它们是服务器程序 符合 Java EE 的 Servlet API。Java EE 建立在 Java SE 之上。

Java Platform, Micro Edition (Java ME):用于开发 MIDlets(在移动信息设备上运行的程序)和 Xlets、 这些是在嵌入式设备上运行的程序。

83赞 tharindu_DG 11/25/2015 #12

以下是 API 方面的一些差异

Java SE 包含以下 API 以及更多

  • 小程序
  • AWT的
  • RMI公司
  • JDBC
  • 摆动
  • 收集
  • XML 绑定
  • JavaFX(合并到 Java SE 8)
  • Java 8 集合流式处理 API
  • Java 9 响应式流 API
  • Java 9 HTTP/2 API

Java EE 包括以下 API 以及更多 API

  • Servlet的
  • 网络套接字
  • Java 面孔
  • 依赖注入
  • EJB的
  • 坚持
  • 交易
  • JMS公司
  • 批处理 API

Java ME 包括以下 API 以及更多 API

  • 无线消息传递
  • Java ME Web 服务
  • 安全和信任服务 API
  • 位置
  • 移动 XML API

希望这会有所帮助。

评论

2赞 ejbytes 3/10/2018
如前所述,这是否意味着 SE 中的内容不包含在 EE 中?ME 中有什么不在 EE 中?例如,如果你想要无线消息传递,你似乎需要ME,而它在EE中不可用。这是正确的吗?
1赞 Sriyank Siddhartha 1/6/2020
从 Java EE 版本 6 开始,集合 API 是否也是 Java EE 的一部分?
19赞 Blasanka 7/15/2017 #13

我想Java SE(标准版)是我应该安装在我的 Windows 7 桌面

是的,当然。Java SE 是最好的开始。顺便说一句,您必须学习 Java 基础知识。这意味着您必须学习 Java SE 中的一些库和 API。

Java 平台版本之间的区别:

Java 微型版 (Java ME):

  • 高度优化的运行时环境。
  • 目标消费产品(寻呼机、手机)。
  • Java ME 以前称为 Java 2 Platform, Micro Edition 或 J2ME 中。

Java 标准版 (Java SE):

Java 工具、运行时和 API,供开发人员编写、部署和运行 Applet 和应用程序。Java SE 以前称为 Java 2 Platform, Standard Edition 或 J2SE。(大家/初学者从这里开始)

Java企业版(Java EE):

面向企业级服务器端应用程序。Java EE 以前称为 Java 2 Platform, Enterprise Edition 或 J2EE。

现在被称为 Jakarta EE,由 Oracle Corp 捐赠给 Eclipse 基金会。

这个问题的另一个重复问题。


最后,关于J..的困惑

JVM(Java 虚拟机):

JVM 是 JDK 和 JRE 的一部分,用于转换 Java 字节码并将它们作为本机代码在客户端机器上执行。

JRE(Java 运行时环境):

它是为 java 程序执行提供的环境。它包含 JVM、类库和其他支持文件。它不包含任何开发工具,如编译器、调试器等。

JDK(Java 开发工具包):

JDK 包含开发 java 程序(javac、java、javadoc、appletviewer、jdb、javap、rmic,...)和 JRE 运行程序所需的工具。

Java SDK(Java 软件开发工具包):

SDK 包括 JDK 和额外的软件,例如应用程序服务器、调试器和文档。

Java SE:

Java 平台标准版 (Java SE) 允许您在桌面和服务器上开发和部署 Java 应用程序(与 SDK 相同)。

J2SE、J2ME、J2EE

从 1.2 到 1.5 的任何 Java 版本

阅读有关这些主题的更多信息:

9赞 Grant Gubatan 8/4/2017 #14

Java SE(标准版)用于构建桌面应用程序。

Java ME(微型版)适用于旧移动设备。

Java EE(企业版)用于开发基于 Web 的应用程序。