【问题标题】:Difference between Java SE/EE/ME?Java SE/EE/ME 之间的区别?
【发布时间】:2011-02-20 21:23:45
【问题描述】:

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

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

【问题讨论】:

标签: java jakarta-ee java-me


【解决方案1】:

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

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

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

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

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

如果您是 Java 新手,一定要从 Java SE 开始。

【讨论】:

  • 我不同意向以前从未编写过 Java 的人推荐 IDE。先用命令行写一些,这样你就有机会理解 CLASSPATH 的含义。如果您在了解 Java 之前使用 Eclipse,那是您不了解的两件大事。
  • @duffymo IMO 实际上推荐 IDE 是个好主意,因为使用纯文本编辑器进行编码对学习新语言没有任何好处,智能感知和自动补全对已经了解其他生态系统的程序员要熟悉新环境。
  • @duffymo 5 年后我还在读这篇文章,因为谷歌把我带到了这里,所以我想开始讨论还是有道理的。不过,在这个特定的例子中,我同意你关于 IDE 的论点。
  • 我认为讨论困难和永恒的问题没有错。
  • 是否只有 JDK 版本特定?还是 JRE 和 JVM 对于 SE 和 EE 不同?
【解决方案2】:

以下是 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 及更多

  • servlet
  • 网络套接字
  • java 面孔
  • 依赖注入
  • ejb
  • 坚持
  • 交易
  • jms
  • 批处理接口

Java ME 包括以下 API 以及更多

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

希望这会有所帮助。

【讨论】:

  • 如前所述,这是否意味着 SE 中的内容不包含在 EE 中?什么在 ME 中不在 EE 中?例如,如果您想要无线消息传递,您似乎需要 ME,但它在 EE 中不可用。这是正确的吗?
  • 从 Java EE 版本 6 开始,Collections API 也是 Java EE 的一部分吗?
【解决方案3】:

Java SE 是构建 Java EE 的基础。

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

所以你应该为你的项目安装 Java SE。

【讨论】:

    【解决方案4】:

    根据Oracle的documentation,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 创建富互联网应用程序的平台。它是 Java 平台系列的最新成员。

    严格来说,这些平台都是规范;它们是规范,而不是软件。 Java 平台标准版开发工具包 (JDK) 是官方实现 Oracle 提供的 Java SE 规范。还有其他实现,例如 OpenJDK 和 IBM 的 J9。

    Java 新手为他们的平台和操作系统下载 JDK(Oracle 的 JDK 可供下载 here.)

    【讨论】:

    • Java 6 确实如此。Java 7 文档说有 3 个平台,JavaFX 是 Java SE 的一部分。
    • Java SE 用于开发桌面应用 Java EE 用于开发 Web 应用和大型企业应用。
    【解决方案5】:

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

    Java 编程语言平台

    Java 编程语言有四种平台:

    • Java 平台标准版 (Java SE)

    • Java 平台企业版 (Java EE)

    • Java 平台,微型版 (Java ME)

    • JavaFX

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

    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 和运行时环境,用于开发和 运行大规模、多层、可扩展、可靠和安全 网络应用。

    Java ME

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

    JavaFX

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

    【讨论】:

    • 从 oracle 网站复制 :)
    • @IrfanNasim 我知道它是从 Oracle 复制的,我提到过!!您是否从顶部阅读了答案?!而且您知道吗,在 SO 中,当您提供链接时,您还必须复制重要信息,因为一旦链接不是最新的或不起作用,人们仍然可以阅读链接中的内容!!奇怪的是你有 198 个代表,你仍然不知道规则!
    【解决方案6】:

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

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

    Java 平台版本之间的区别:

    Java Micro Edition (Java ME):

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

    Java Standard Edition (Java SE):

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

    Java Enterprise Edition(Java EE):

    面向企业级server-side 应用程序。 Java EE 以前称为 Java 2 Platform Enterprise Edition 或 J2EE。

    Another duplicated question for this question.


    最后,关于J..混淆

    JVM (Java Virtual Machine):

    JVM 是 JDK 和 JRE 的一部分,它翻译 Java 字节码并将它们作为本机代码在客户端计算机上执行。

    JRE (Java Runtime Environment):

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

    JDK (Java Development Kit):

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

    Java SDK (Java Software Development Kit):

    SDK 包含一个 JDK 和额外的软件,例如应用服务器、调试器和文档。

    Java SE:

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

    J2SE、J2ME、J2EE

    从 1.2 到 1.5 的任何 Java 版本

    详细了解这些主题:

    【讨论】:

      【解决方案7】:

      是的,Java SE 是开始的地方。你提到的所有任务都可以用它来处理。

      Java ME是移动版,EE是企业版;这些是标准版的专用/扩展版本。

      【讨论】:

        【解决方案8】:

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

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

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

        【讨论】:

          【解决方案9】:

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

          【讨论】:

            【解决方案10】:

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

            Java 平台,标准版 (Java SE): 用于开发的 Java 平台 应用程序,它们是在桌面上运行的独立程序。 Java SE 是 也用于开发小程序,这是在 Web 浏览器中运行的程序。

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

            Java 平台,微型版 (Java ME): 用于开发的 Java 平台 MIDlet 是在移动信息设备上运行的程序,以及 Xlet, 是在嵌入式设备上运行的程序。

            【讨论】:

              【解决方案11】:

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

              【讨论】:

                【解决方案12】:

                Java SE 用于桌面应用程序和简单的核心功能。 Java EE 用于桌面,也用于 Web 开发、网络和高级事物。

                【讨论】:

                  【解决方案13】:

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

                  希望这会有所帮助。

                  【讨论】:

                    【解决方案14】:

                    EE:- 企业版:- 此 Java 版本专为企业应用程序/业务而设计,我们必须处理对安全、事务管理等具有重要意义的大量不同服务器。

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

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

                    所以基本上JAVA针对不同的需求有不同的版本。

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2015-09-30
                      • 2017-02-22
                      • 1970-01-01
                      • 1970-01-01
                      • 2011-05-28
                      • 1970-01-01
                      相关资源
                      最近更新 更多