terminology
JSR
JSR是Java Specification Request的缩写,意为Java规范请求。这是Java社区过程(Java Community Process,简称JCP)的一部分,它是提议、审查、批准和修订Java技术规范的正式过程。JSR描述了提出的规范和技术的新增或更改,并且在这个过程中,社区成员可以参与对其的讨论和投票。
JSR包括如下几个阶段:
- 提出:任何注册成员都可以提交JSR,其中要包含规范的目的、概述、目标版本以及提案人等信息。
- 审核:JCP的执行委员会(Executive Committee,EC)对JSR进行审核,可能会有一些问题和修改。
- 社区审查:JSR向整个Java社区公开,允许社区成员提供反馈。
- 公共审查:任何人都可以查看JSR文档并提供反馈。
- 最终批准投票:JCP的执行委员会对最终的规范进行投票。
- 完成:一旦JSR被批准,规范就完成了,通常会有一个参考实现和兼容性套件来确保新的或更新的规范能与现有技术兼容。
- 发布:最终的规范将发布给所有开发者和最终用户。
- 维护:随后进入维护阶段,对规范进行更新和问题修正。
每个JSR都有一个唯一编号,例如JSR 299是关于上下文和依赖注入的API(即CDI,Contexts and Dependency Injection),而JSR 330是关于依赖注入的标准化工作。
JSR是Java技术发展的重要组成部分,它不仅确定了Java平台的未来方向,而且还提供了一个途径,让社区成员可以参与并对Java生态系统的发展做出贡献。
JEP
JEP代表JDK Enhancement Proposal,即JDK增强提案。它是一个用于提出、讨论、审查和确定Java平台的新特性(Java SE平台、JVM、工具等)的正式过程。每个JEP都提供了对其所提议增强的详细说明,包括目标、动机、描述、依赖关系和风险等。
JEP是Java社区创新过程的一个重要组成部分,它是在开放JDK社区内公开讨论和开发新特性的一种方式。它是介于Java社区过程(JCP)提出的JSR(Java Specification Requests,Java规范请求)和普通的bug修复或小改进之间的一个中等规模的提案。JSR是对Java规范进行正式的、广泛的变更,而JEP则针对JDK的增强提案,两者在规模和影响上有所不同。
JEP的流程通常包括以下几个步骤:
- 创建:一个新的JEP草案被创建并分配一个唯一的编号。
- 提交:草案被提交给JEP编辑组,他们将对其进行审查。
- 批准:如果提案得到编辑组的批准,它将进入候选状态。
- 筹备:在这个阶段,提案的细节将被进一步开发和完善。
- 投票:JDK Committer对提案进行投票。
- 集成:一旦提案通过投票,它将进入JDK代码库。
- 发布:提案的功能最终将随JDK的新版本发布。
JEP使Java的发展过程更加透明和社区驱动,它为开发者和最终用户提供了参与Java平台发展的机会。
JLP java language specification
JLP代表Java Language Specification,即Java语言规范。它定义了Java编程语言的语法、语义和运行时行为,是Java平台的核心规范之一。