Java EE vs J2EE vs Jakarta EE
概述
相信很多同学在工作中都用到过 Java EE 相关的技术,然而究竟什么是 Java EE,可能却不甚了解,就在 Java EE 概念还没搞清楚的时候,又冒出来 Jakarta EE,有时还能在网上一些地方看到 J2EE 的说法。这么多概念,难免有些懵圈,今天我们一起学习下这些概念。赶时间的同学,可以只看本文最后的总结部分。
什么是 Java EE
Java EE 全称为 Java Enterprise Edition(Java 企业版),Java EE 是一套包含了多个有助于企业级应用开发的规范集合。可以将规范理解为技术说明书和接口。至于接口的实现则是开放的,每个人都可以根据规范的要求提供自己的实现。话虽如此,你想让提供自己的实现并得到认可却并不容易,有头铁的兄弟可以参考这里。
作为开发者的我们不需要关心规范的实现,只需要利用 Java EE 提供的接口,面向接口编程即可。拿 Tomcat 来说,它是一个 servlet 容器,实现了 Java EE 规范的中 jsp/servlet 这一小部分规范,我们在 web 开发过程中,打交道只是 Java EE 提供的一系列接口(最常用的是 HttpServlet),而不用关心 Tomcat 底层究竟是怎么实现那些接口。
之前提到 Java EE 是一套规范集合,可分为以下大类:
- Web 规范集合,这里面包含了著名的如:servlet 和 webSocket 等技术规范;
- Web Service 规范集合,包含了 xml 绑定、json 绑定等技术规范;
- Enterprise 规范集合,包含了事务控制、持久化和依赖注入等技术规范;
- 其他规范集合,包含了 validation 等技术规范。
JAVA EE 演变过程
前面介绍了什么是 Java EE,其实在早期,它还有一个名字叫 J2EE,然而到了 2017 年的 9 月份,Oracle 公司将 Java EE 版权让渡给 Eclipse 基金会。但从法律层面上 Eclipse 基金会不得不将 Java EE 改成 Jakarta EE,因为 Java 的版权属于 Oracle 公司。然而有趣的是,Oracle 公司虽然开源了源代码,却没有开源所有的相关文档,因为开源这些文档可能会产生一些法律问题。
下表是 Java EE 的版本及其对应的年份:
版本 | 年份 |
---|---|
J2EE 1.2 | 1999 |
J2EE 1.3 | 2001 |
J2EE 1.4 | 2003 |
JEE 5 | 2006 |
JEE 6 | 2009 |
JEE 7 | 2013 |
JEE 8 | 2017 |
Jakarta EE | 2018 |
总结
Java EE、J2EE 和 Jakarta EE 本质上是同一个东西在不同时期的不同称谓罢了。
温馨提示:反馈需要登录