JLS,JSR和JEP之间的区别(或关系)是什么?[已关闭]

2022-09-01 06:37:54

这三者之间有什么区别(或关系)?


答案 1

有些人认为这只是单词含义的问题。我认为,这其中还有更多内容,但让我们从这些话开始。

在一般情况下:

  • 规范指定(或定义)某事的文档。
  • 请求是要求某事的声明(书面或口头)。
  • 提案是一份声明(书面或口头),提出要考虑的内容。

如您所见,这些单词本身的简单英语含义并没有多大帮助。我们需要更多的背景。在这种情况下,上下文位于您链接到的页面中。

Java Language Specification, JLS

这是 Java 语言的规范。JLS 指定 Java 编程语言的语法和其他规则,这些规则说明什么是有效的 Java 程序,什么不是有效的 Java 程序。它还指定了程序的含义;即,当您运行(有效)程序时会发生什么。

Java Specification Request, JSR

JSR 是作为 Java 社区流程 (JCP) 的一部分而创建的文档,它为一组人设置开发新规范的范围。这些规范(AFAIK)总是与Java相关,但它们经常解决不会成为核心Java SE或Java EE技术的问题。典型的JSR主题材料是一种相对成熟的技术;即,处于可以指定的状态。(如果您过早地尝试制定规范,那么您通常最终会得到一个糟糕的规范。其他事情也可能导致这种情况。

Java Enhancement Proposal, JEP

JEP 是一个建议增强 Java 核心技术的文档。这些建议通常用于尚未准备好指定的增强功能。正如JEP-0文件所述,JEP可能需要探索新颖(甚至是“古怪”)的想法。一般来说,原型设计将需要将可行和不可行的想法分开,并澄清它们以达到可以产生规范的程度。

因此,JEP、JSR 和规范之间的关系是这样的:

  1. JEP提出并发展实验想法,直到可以指定的程度。并非所有的JEP都能实现。

  2. JSR 采用成熟的想法(例如,由 JEP 产生),并生成新规范或对现有规范的修改。并非所有的JSR都能实现。

  3. 规范是 JSR 的常见工作产品。(其他包括接口的源代码和参考实现。JLS 是规范的一个示例。其他包括JVM规范,Servlet和JSP规范,EJB规范等。


答案 2

推荐