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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2857376/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 13:45:30  来源:igfitidea点击:

Difference between Java SE/EE/ME?

javajakarta-eejava-me

提问by Richard Knop

Which one should I install when I want to start learning Java? I'm going to start with some basics, so I will write simple programs that create files, directories, edit XML files and so on, nothing too complex for now.

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

I guess Java SE (Standard Edition) is the one I should install on my Windows 7 desktop. I already have Komodo IDE which I will use to write the Java code.

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

采纳答案by 6006604

Java SE= Standard Edition. This is the core Java programming platform. It contains all of the libraries and APIs that any Java programmer should learn (java.lang, java.io, java.math, java.net, java.util, etc...).

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

Java EE= Enterprise Edition. From Wikipedia:

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

The Java platform (Enterprise Edition) differs from the Java Standard Edition Platform (Java SE) in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier Java software, based largely on modular components running on an application server.

Java 平台(企业版)与 Java 标准版平台 (Java SE) 的不同之处在于,它添加了一些库,这些库提供了部署容错、分布式、多层 Java 软件的功能,主要基于在应用程序服务器上运行的模块化组件.

In other words, if your application demands a very large scale, distributed system, then you should consider using Java EE. Built on top of Java SE, it provides libraries for database access (JDBC, JPA), remote method invocation (RMI), messaging (JMS), web services, XML processing, and defines standard APIs for Enterprise JavaBeans, servlets, portlets, Java Server Pages, etc...

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

Java ME= Micro Edition. This is the platform for developing applications for mobile devices and embedded systems such as set-top boxes. Java ME provides a subset of the functionality of Java SE, but also introduces libraries specific to mobile devices. Because Java ME is based on an earlier version of Java SE, some of the new language features introduced in Java 1.5 (e.g. generics) are not available.

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

If you are new to Java, definitely start with Java SE.

如果您是 Java 新手,请务必从 Java SE 开始。

回答by Corv1nus

If I were you I would install the Java SE SDK. Once it is installed make sure you have the JAVA_HOME environment variable set and add the %JAVA_HOME%\bin dir to your path.

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

回答by duffymo

Java SE is the foundation on which Java EE is built.

Java SE 是构建 Java EE 的基础。

Java ME is a subset of SE for mobile devices.

Java ME 是移动设备 SE 的一个子集。

So you should install Java SE for your project.

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

回答by Péter T?r?k

Yes, Java SE is where to start. All the tasks you mention can be handled with it.

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

Java ME is the Mobile Edition, and EE is Enterprise Edition; these are specialized / extended versions of Standard Edition.

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

回答by Michael

Yes, you should start with Java SE. Java EE is for web applications and Java ME is for mobile applications--both of these build off of SE.

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

回答by Jan Bodnar

According to the Oracle's documentation, there are actually four Java platforms:

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

  • Java Platform, Standard Edition (Java SE)
  • Java Platform, Enterprise Edition (Java EE)
  • Java Platform, Micro Edition (Java ME)
  • JavaFX
  • Java 平台,标准版 (Java SE)
  • Java 平台企业版 (Java EE)
  • Java 平台,微型版 (Java ME)
  • JavaFX

Java SEis for developing desktop applications and it is the foundation for developing in Java language. It consists of development tools, deployment technologies, and other class libraries and toolkits used in Java applications. Java EEis built on top of Java SE, and it is used for developing web applications and large-scale enterprise applications. Java MEis a subset of the Java SE. It provides an API and a small-footprint virtual machine for running Java applications on small devices. JavaFXis a platform for creating rich internet applications using a lightweight user-interface API. It is a recent addition to the family of Java platforms.

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

Strictly speaking, these platforms are specifications; they are norms, not software. The Java Platform, Standard Edition Development Kit (JDK) is an official implementationof the Java SE specification, provided by Oracle. There are also other implementations, like OpenJDK and IBM's J9.

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

People new to Java download a JDK for their platform and operating system (Oracle's JDK is available for download here.)

Java 新手下载适用于他们的平台和操作系统的 JDK(Oracle 的 JDK 可在此处下载 。)

回答by user3064248

The SE(JDK) has all the libraries you will ever need to cut your teeth on Java. I recommend the Netbeans IDE as this comes bundled with the SE(JDK) straight from Oracle. Don't forget to set "path" and "classpath" variables especially if you are going to try command line. With a 64 bit system insert the "System Path" e.g. C:\Program Files (x86)\Java\jdk1.7.0 variable before the C:\Windows\system32; to direct the system to your JDK.

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

hope this helps.

希望这可以帮助。

回答by sandhu

Java SE is use for the desktop applications and simple core functions. Java EE is used for desktop, but also web development, networking, and advanced things.

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

回答by Tarik

As I come across this question, I found the information provided on the Oracle's tutorialvery complete and worth to share:

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

The Java Programming Language Platforms

Java 编程语言平台

There are four platforms of the Java programming language:

  • Java Platform, Standard Edition (Java SE)

  • Java Platform, Enterprise Edition (Java EE)

  • Java Platform, Micro Edition (Java ME)

  • JavaFX

All Java platforms consist of a Java Virtual Machine (VM) and an application programming interface (API). The Java Virtual Machine is a program, for a particular hardware and software platform, that runs Java technology applications. An API is a collection of software components that you can use to create other software components or applications. Each Java platform provides a virtual machine and an API, and this allows applications written for that platform to run on any compatible system with all the advantages of the Java programming language: platform-independence, power, stability, ease-of-development, and security.

Java 编程语言有四种平台:

  • Java 平台,标准版 (Java SE)

  • Java 平台企业版 (Java EE)

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

  • JavaFX

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

Java SE

Java SE

When most people think of the Java programming language, they think of the Java SE API. Java SE's API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.

In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications.

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

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

Java EE

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.

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

Java ME

爪哇机

The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones. The API is a subset of the Java SE API, along with special class libraries useful for small device application development. Java ME applications are often clients of Java EE platform services.

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

JavaFX

JavaFX

JavaFX is a platform for creating rich internet applications using a lightweight user-interface API. JavaFX applications use hardware-accelerated graphics and media engines to take advantage of higher-performance clients and a modern look-and-feel as well as high-level APIs for connecting to networked data sources. JavaFX applications may be clients of Java EE platform services.

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

回答by romil

EE:- Enterprise Edition:- This Java edition is specifically designed for enterprise applications/business where we have to deal with number of different servers with importance on security, transaction management etc.

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

SE:- Standard Edition:- This edition is for standard applications.

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

ME:- Micro Edition:- This java edition is specifically designed for mobile phone platforms. Where more importance is given on memory management as there is limited memory resources in mobiles .

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

So basically JAVA has different editions for different requirements.

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