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

Ric*_*nop 326 java java-me java-ee

当我想开始学习Java时,我应该安装哪一个?我将从一些基础开始,所以我将编写简单的程序来创建文件,目录,编辑XML文件等等,现在没有什么太复杂了.

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

600*_*604 534

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和Java定义标准API.服务器页面等...

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

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

  • 我不同意向以前从未编写过Java的人推荐IDE.首先使用命令行写几个,这样你就有机会了解CLASSPATH的含义.如果您在了解Java之前使用Eclipse,那么这是您无知的两件大事. (156认同)
  • @duffymo IMO提出IDE建议实际上是一个好主意,因为用纯文本编辑器编码对学习新语言没有任何好处,智能感知和自动完成对已经知道其他生态系统的程序员来说是一种宝贵的帮助熟悉新环境. (47认同)
  • 我认为讨论困难和永恒的问题并没有错. (8认同)
  • @duffymo谷歌把我带到这里5年后我还在读这个,所以我想开始讨论还有一点意义.但在这个特定的例子中,我同意你关于IDE的论点. (4认同)
  • 仅JDK版本特定吗?或JRE和JVM对于SE和EE是不同的? (2认同)
  • Java EE 现在已经死了。Jakarta EE 正在取代 Java EE:https://www.infoq.com/podcasts/milinkovich-jakarta-ee/?itm_source=infoq&itm_campaign=user_page&itm_medium=link (2认同)

tha*_*_DG 63

以下是API方面的一些差异

Java SE包含以下API等等

  • 小程序
  • AWT
  • RMI
  • JDBC
  • 摇摆
  • 集合
  • xml绑定
  • JavaFX(合并到Java SE 8)
  • Java 8 Streaming

Java EE包括以下API等等

  • 的servlet
  • 的WebSocket
  • java面孔
  • 依赖注入
  • EJB
  • 坚持
  • 交易
  • JMS
  • 批量api

Java ME包括以下API等等

  • 无线消息
  • Java ME Web服务
  • 安全和信任服务API
  • 地点
  • 移动XML API

希望这可以帮助.

  • 如前所述,这是否意味着 SE 中的内容不包含在 EE 中?ME 中的内容不在 EE 中吗?举例来说,如果您想要无线消息传递,您就需要 ME,而 EE 中不提供该功能。它是否正确? (2认同)

duf*_*ymo 51

Java SE是构建Java EE的基础.

Java ME是移动设备SE的子集.

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


Jan*_*nar 34

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

  • Java平台,标准版(Java SE)
  • Java平台企业版(Java EE)
  • Java平台,Micro Edition(Java ME)
  • JavaFX的

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

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

刚接触Java的人为他们的平台和操作系统下载了一个JDK(Oracle的JDK可以在这里下载 .)


Tar*_*rik 19

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

Java编程语言平台

Java编程语言有四个平台:

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

  • Java平台企业版(Java EE)

  • Java平台,Micro Edition(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平台之上.Java EE平台提供API和运行时环境,用于开发和运行大规模,多层,可伸缩,可靠和安全的网络应用程序.

Java ME

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

JavaFX的

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


Bla*_*nka 12

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

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

Java平台版本之间的区别:

Java Micro Edition(Java ME):

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

Java标准版(Java SE):

用于开发人员编写,部署和运行applet和应用程序的Java工具,运行时和API.Java SE以前称为Java 2平台,标准版或J2SE.(每个人/初学者从这开始)

Java企业版(Java EE):

针对企业级服务器端应用程序.Java EE以前称为Java 2平台,企业版或J2EE.

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


最后,关于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版本

详细了解这些主题:


Pét*_*rök 11

是的,Java SE是从哪里开始的.你提到的所有任务都可以用它来处理.

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


Mic*_*ael 7

是的,您应该从Java SE开始.Java EE适用于Web应用程序,Java ME适用于移动应用程序 - 这些都是基于SE构建的.


小智 5

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

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

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