有没有听说过Java EE?Java 2EE,J2EE或现在的Jakarta EE怎么样?实际上,这些都是同一个东西的不同名称:一组扩展Java SE的企业规范。

在这篇简短的文章中,我们将描述Java EE的演变。

历史回顾

在Java的第一个版本中,Java企业扩展只是核心JDK的一部分。然后,作为1999年Java 2的一部分,这些扩展从标准库包中脱离出来,  J2EE或Java 2平台企业版诞生了,这个名称维持到2006年。2006年的Java 5,J2EE被重命名为Java EE或Java Platform Enterprise Edition。这个名字一直持续到2017年9月,当时发生了重大事件。请参阅,2017年9月,  Oracle决定将Java EE的权利授予Eclipse Foundation(该语言仍由Oracle拥有)。

转型期

实际上,Eclipse Foundation 必须重命名Java EE。这是因为Oracle拥有“Java”品牌的权利。因此,为了选择新名称,社区投票选出:Jakarta EE。在某种程度上,它仍然是JEE。

尽管如此,这仍然是一个不断发展的故事,尘埃尚未完全解决。例如,虽然Oracle开源了源代码,但他们没有开源所有文档。关于这个问题仍然有很多讨论,因为法律问题使得与例如JMS和EJB相关的开源文档变得棘手。

目前尚不清楚新的Eclipse Foundation文档是否能够引用原件。

另外,奇怪的是,Eclipse Foundation不能使用javax命名空间创建任何新的Java包,但它可以在现有的类下创建新的类和子类。切换还意味着向Jakarta EE 添加规范的新流程。为了更好地理解它,让我们来看看Oracle下的流程是什么样的,以及它在Eclipse Foundation下的变化。

未来

从历史上看,为了使特性成为“EE”,我们需要三件事:规范,参考实现和测试。 这三件事可以由社区中的任何人提供,执行委员会将决定何时可以添加到语言中。为了更好地理解过去的流程,让我们仔细看看  JSR,Glassfish和TCK是什么以及它们如何体现新的EE功能。

JCP和现在,EFSP

过去,新EE功能诞生的过程称为Java Community Process(JCP)。

Java SE今天仍然使用JCP。但是,由于EE已经改变了它的所有权,从Oracle到Eclipse Foundation,我们有一个新的独立流程。它是Eclipse Foundation Specification Process(EFSP),是Eclipse Development Process的扩展  。

但是,存在一些重要的差异,主要是“透明度,开放性,共享负担和供应商中立性”。例如,EFSP组织者设想了与供应商无关的协作工作组,一个自助服务的认证流程,以及一个以精英管理运营和管理的组织。

JSR

在JCP中,向EE添加功能的第一步是创建JSR或Java规范请求。JSR有点像 EE功能的接口。JCP执行委员会审核并批准了已完成的JSR,然后JSR贡献者将对其进行编码并将其提供给社区。一个很好的例子是  JSR-339   - 或JAX-RS--最初于2011年提出,2012年由JCP批准,最终于2013年发布。虽然社区总能权衡,同时规范正在讨论之中,一半采取实现优先的批准策略,如JSR 310,java.time,  Joda Time 表明:倾向于创更多能被广泛接受的功能和API 。

因此,EFSP在其既定目标中反映了这种“代码实现优先”的观点:“EFSP将首先基于动手实验和编码,只有这样才能证明其内容值得在规范中进行登记。”

Glassfish

作为JCP的一部分,JSR需要一个具体的参考实现。这有点像实现接口的类。参考实现必须兼容以往库包或其他组织的开发人员创建自己的规范实现。

对于Java EE功能,JCP使用Glassfish作为其参考实现。

虽然Glassfish的这种集中化简化了实施者的发现过程,但这种集中化还需要更多的治理,并倾向于支持一个供应商而不是另一个供应商。

因此,EFSP不需要参考实现,而只需要  兼容的 实现。简而言之,这种微妙的变化使得基础设施内部的实现(如Glassfish)不会被基金会无意中所偏爱。

TCK

最后,JCP要求通过技术兼容性工具包或TCK测试EE功能  。

TCK是一套验证特定EE JSR的测试。简单地说,为了符合Java EE,应用服务器需要实现其所有JSR并在指定的TCK上传递所有测试。

这里没什么变化。Oracle开源TCK以及EE JSR。当然,所有未来的文件和TCK都将是开源的。

Java EE在这些年里确实发展了很多。很高兴看到它继续改变和改进。未来还有很多挑战,所以我们希望顺利过渡。

jee Java什么意思_JEE、J2EE与Jakarta等概念解释相关推荐

  1. 小白科普:Java EE vs J2EE vs Jakarta EE

    作者 | Rodrigo Graciano 编译 | Panson https://www.baeldung.com/java-enterprise-evolution 1. 引言 听说过 Java ...

  2. JAVA中J2SE和J2EE和 J2me关系

    java是一门开发语言.j2se是java的桌面应用平台,用于开发桌面应用程序,比如qq,暴风影音都是桌面应用程序,其中s表示standard,标准的意思. j2ee,其中的e表示enterprise ...

  3. JAVA基础再回首(一)——基本概念、JAVA开发工具、JAVA基本语法

    JAVA基础再回首(一)--基本概念.JAVA开发工具.JAVA基本语法 学了java,做了android应用开发,现在回想起来,真的是一路坎坷..我在上章博客中提到了我以后的几个学习计划和目标就是把 ...

  4. java运行时_java编译时与运行时概念与实例详解

    Java编译时与运行时很重要的概念,但是一直没有明晰,这次专门博客写明白概念. 基础概念 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只 ...

  5. Java简单类、变量详解(概念和分类、声明、命名、初始化)

    1初识JAVA简单类 (1)创建第一个Java程序的具体步骤: 第一步:创建一个工程,在Package Explorer空白区域中右击New->点击Java Project->填写Proj ...

  6. c语言做bs架构_《Java软件项目(BS架构)开发》基本概念.ppt

    <Java软件项目(BS架构)开发>基本概念 第1章 基本概念 学习目标 课程介绍 B/S架构应用程序的相关概念介绍 课程介绍 必修课,学分4, 6学时/周 围绕联合银行的网上银行项目的实 ...

  7. java 和javafx_9月的十大Java故事:Java 13,JavaFX 13和Jakarta EE 8

    java 和javafx 简而言之,9月对于Java来说是繁忙的月份. 我们不仅发布了JFX 13和Jakarta EE 8,而且Java 13还发布了一些新的JEP和功能预览. 即使天气变凉,Jav ...

  8. java病毒扫描代码,J2EE中集成赛门铁克防病毒扫描引擎[Java编程]

    赞助商链接 本文"J2EE中集成赛门铁克防病毒扫描引擎[Java编程]"是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行 ...

  9. java毕业设计_基于J2EE的小学生老师家长互动平台设计与实现

    基于J2EE的小学生老师家长互动平台设计与实现 基于J2EE的小学生老师家长互动平台设计与实现mysql数据库创建语句 基于J2EE的小学生老师家长互动平台设计与实现oracle数据库创建语句 基于J ...

最新文章

  1. U盘安装Centos6.3 续
  2. postman参数化 接口响应数据获取符合条件的内容参数化给后面的接口使用
  3. Linux timer调用流程图,Linux应用层的定时器Timer使用详解【转】
  4. Centos7修改主机名
  5. 基于AppDomain的插件式开发
  6. mysql sequence java_MySQL增加Sequence管理功能
  7. ThinkPHP系的两个东东OneThink和ThinkCMF
  8. Quartz CronTrigger时间最完整配置说明
  9. 设置MyEclipse编码、补全快捷键、字体大小
  10. SATA硬盘有固件问题的硬盘型号以及购买建议
  11. vue 综合案例todos----重要
  12. opencv用shi-Tomasi角点检测实现目标追踪
  13. 2019 中文互联网资源碎碎念
  14. Jmeter 测试12306 获取火车票订单接口
  15. 华为社招/东莞、杭州、成都、西安
  16. Mac宝藏软件推荐(笔者也在用)(二)
  17. 研究生招生信息网服务器异常,2012研究生网上报名常见问题汇总
  18. Word控件Spire.Doc 【页面设置】教程(9) 如何在 C# 中添加行号
  19. ESP32 HttpServer模式下 本地OTA 例程(基于ESP-IDF类似Arduino下OTAWebUpdater例程)
  20. 线程池6th卷:大展经纶补天手

热门文章

  1. 【信息图】iPhone屏幕分辨率终极指南
  2. 阿里巴巴-游戏开发面经
  3. Java经典面试:完美世界java开发待遇
  4. 蓝桥杯 九宫重排 java_九宫重排--蓝桥杯国赛历年真题
  5. 很多人问网站运营到什么时候才能够盈利?问题在这里
  6. 暴风魔镜实现一个简单的VR
  7. 手机java应用运行卡顿_解决手机运行慢,困顿的小妙招
  8. 漏极开路 推挽输出方式和弱上拉都什么意思
  9. Camtasia Studio 9录制高清、超清视频教程
  10. ru0506持仓:20050428