JavaSE 和 Java EE 分别是什么
Posted huyuchengus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE 和 Java EE 分别是什么相关的知识,希望对你有一定的参考价值。
Java 作为最流行的编程语言受到了许多人的喜爱,其在编程中的地位自不必多说。
对于许多才刚刚入门 Java 的朋友来讲,常常会产生这样的困惑,JavaEE是什么?JavaSE又是什么?
Java SE
Java SE 是 Java Platform, Standard Edition 的简写。
简称就是 Java 的标准版。
如上面的图片,上面就是定义了一个 JDK,JDK 有 Java 运行时和 Java SE API。
我们都知道装 Java 的时候需要装 JDK,等于就是在你的计算机上装了这么一堆东西。
Java EE
Java EE 是 Java Platform, Enterprise Edition (Java EE) 的简写。
Java Platform, Enterprise Edition (Java EE) 是基于 JDK 运行的,没有 JDK 你照样用不了 Java EE。
在 JDK 中,我们看到了 Java SE 的 API,通常这部分的 API 是基本的 API,有些企业级的应用不在这个 API 里面。
这部企业级的应用,我们就放到了 Java EE 中了。
比如说,非常古老的 EJB,就在 Java EE 里面。
Java EE 通常使用 Javax 为包的名称。
Spring
如果你想跑企业应用,光有 JDK 是不够的,最开始的时候 Java 是设计是用 EJB 的。
比如说重量级的应用服务器和容器:Weblogic 和 JBoss 就是能够支持 Java EE 的。
但是 EJB 实在太难用了,结果就有了 Spring 框架,这个框架不需要 EJB 也可以跑,结果就是 Java EE API 就从你的项目中比重直接下降。
目前开发的主流还是使用 Spring。
但是 Java EE 这套东西并没有完全丢弃,还在持续开发。
总结
Spring 就是使用 JDK 可以跑起来的企业应用。
最开始的设计初衷就是丢掉麻烦笨重的 Java EE。
Java SE 和 Java EE 之间的主要区别是啥? [复制]
【中文标题】Java SE 和 Java EE 之间的主要区别是啥? [复制]【英文标题】:What's the main difference between Java SE and Java EE? [duplicate]Java SE 和 Java EE 之间的主要区别是什么? [复制] 【发布时间】:2009-06-30 18:33:43 【问题描述】:Java SE 和 Java EE 的主要区别是什么?
【问题讨论】:
daniweb.com/forums/thread97463.html Java SE vs Java EE 【参考方案1】:Java SE(以前称为 J2SE)是基本的 Java 环境。在 Java SE 中,您可以使用 API described here 使用 Java 制作所有“标准”程序。您只需要一个 JVM 即可使用 Java SE。
Java EE(以前称为 J2EE)是 Java 的企业版。使用它,您可以创建网站、Java Bean 和更强大的服务器应用程序。除了 JVM,您还需要一个与 Java EE 兼容的应用服务器,例如 Glassfish、JBoss 等。
【讨论】:
【参考方案2】:Java SE代表Java标准版,通常用于开发桌面应用程序,形成核心/基础API。
Java EE 代表 Java 企业版,适用于在服务器上运行的应用程序,例如网站。
Java ME 代表 Java 微型版,适用于在手机等资源受限设备(小型设备)上运行的应用程序,例如游戏。
【讨论】:
【参考方案3】:http://www.dreamincode.net/forums/topic/99678-j2se-vs-j2ee-what-are-main-differences/
就语言而言,Java 并没有发生变化。 Java EE 可以访问所有 SE 库。但是,EE 添加了一组用于处理企业应用程序的库。
Java EE 更像是一个“平台”或一般开发领域。
在 Java SE 中,您编写的应用程序可以作为独立的 Java 程序或 Applet 运行。在 JavaEE 中您仍然可以这样做,但您也可以编写在 Java EE 容器内运行的应用程序。容器可以为您进行大量管理,例如跨线程扩展应用程序、提供资源池和管理功能。
Java EE 有一个基于 Servlet 的 Web 框架。它有 JSP(Java Server Pages),这是一种模板语言,可以从 JSP 编译成一个 Java servlet,它可以由容器运行。
所以 Java EE 或多或少是 Java SE + 企业平台技术。
Java EE 不仅仅是几个额外的库(这是我第一次看到它时的想法),因为有大量的框架和技术基于 Java EE 规范构建。
但这一切都归结为简单的旧 java。
【讨论】:
您知道 EE 代表“企业版”吗?而且它不是一个产品,而是一组产品。 @Mohiul 这是一个很好的回应,因为您谈到了 Java EE 和 Java SE 之间的关系。前者基本上是后者的超集。 我认为,这必须标记为正确答案,因为它提供了完整的信息。【参考方案4】:Java SE 是指标准版本的 Java 及其库。 Java EE 是指 Java 的企业版,用于部署 Web 应用程序。
【讨论】:
为什么会有人反对这个?我是否提供了虚假信息?有些人就是很奇怪…… 我正要投反对票(但最后我没有,我决定写这篇评论)因为“Web 应用程序”只是您需要服务器的几种情况之一(因此您将使用 EE 而不是 SE)。 “网络应用程序”我不仅仅指“网站”。我应该说,服务器应用程序要更清楚,你是对的【参考方案5】:Java EE 是企业版。
包括 jsp、servlet、bean 和其他一些用于服务器编程的东西。
Java SE 是标准版。这是普通的旧 Java。包括 GUI 的东西。
【讨论】:
【参考方案6】:首先,J2SE 和 J2EE 已重命名。它们现在是 Java SE 和 Java EE。
本质上,Java SE 是为最终用户设计的标准 Java。这就是您为桌面应用程序开发的内容。 Java EE 是企业版,专为服务器编程而设计,例如 SOA 和 Web 应用程序。
【讨论】:
不过大家还是用旧名字! @John:不!老名字不好听!你会接受 Sun 营销部门给你的任何垃圾,你会喜欢的! SOA 到底是什么意思?【参考方案7】:到目前为止我遇到的最佳描述可在Oracle 网站上找到。
Java SE 的 API 提供了 Java 编程语言的核心功能。它定义了从 Java 编程语言的基本类型和对象到用于网络、安全、数据库访问、图形用户界面 (GUI) 开发和 XML 解析的高级类的所有内容。
Java EE 平台构建在 Java SE 平台之上。 Java EE 平台为开发和运行大规模、多层、可扩展、可靠和安全的网络应用程序提供了 API 和运行时环境。
如果您考虑使用例如 Spring Framework 开发应用程序,您将使用这两种 API,并且必须学习 JavaServer Pages 和相关技术的关键概念,例如:JSP、JPA、JDBC、依赖注入等。
【讨论】:
那么描述是什么 - 不要只提供链接 - 而且这个答案与这里的旧答案不同 @Mark 我已经特别为你更新了答案,但我仍然认为内容重复是个坏主意。 查看此站点的帮助“鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用最相关的部分一个重要的链接,以防目标站点无法访问或永久离线。"【参考方案8】:Java SE 包含所有基础包。一些基本包是 Java 中的written,一些是用 C/C++ 编写的。 基础包是最快的,因为在其核心功能之上没有额外的层。
Java EE 是一组规范,各自的实现都是使用 Java SE 基础包 构建的,这些包恰好已经在contain everything 任何应用程序都需要。例如,对于 Web 应用程序,这里是 Java SE Web Server 和 Java SE Database。
Java SE 9/10 预计将包含对本机的更好支持,以改善其作为 interpreted language 的固有性能问题。使用庞大的 Java EE 实现意味着愿意牺牲性能、可伸缩性以及大量时间和金钱用于教育和更新,以换取项目标准化。
【讨论】:
【参考方案9】:JavaSE 和 JavaEE 都是允许开发的软件运行的计算平台。
Sun Microsystems 发布了三个主要的计算平台,最终被甲骨文公司接管。计算平台都是基于 Java 编程语言的。这些计算平台是:
Java SE,即 Java 标准版。它通常用于 开发桌面应用程序。它构成了核心/基础 API。
Java EE,即 Java 企业版。这最初被称为 Java 2 平台、企业版或 J2EE。这个名字终于 在版本 5 中更改为 Java Platform, Enterprise Edition 或 Java EE。 Java EE 主要用于在服务器上运行的应用程序,例如 网站。
Java ME,即 Java Micro Edition。它主要用于应用程序 在资源受限的设备(小型设备)上运行,例如 手机,最常见的游戏。
【讨论】:
【参考方案10】:在 Java SE 中,您需要软件来运行程序,就像您开发了一个桌面应用程序一样,如果您想与其他机器共享该应用程序,所有机器都必须安装该软件才能运行该应用程序。但是在 Java EE 中,不需要在所有机器上安装软件。 Java EE 具有转发功能。这只是一个简单的例子。有很多不同。
【讨论】:
你能澄清一下吗? Java EE 和 Java SE 一样需要 JVM。什么是“前沿能力”?【参考方案11】:最大的区别是企业服务(因此是 ee),例如支持 EJB 的应用服务器等。
【讨论】:
以上是关于JavaSE 和 Java EE 分别是什么的主要内容,如果未能解决你的问题,请参考以下文章