JLS,JSR和JEP之间的区别(或关系)是什么?[已关闭]
- JLS - Java 语言规范
- JSR - Java Specification Requests.描述添加到 Java 平台的拟议规范和技术的正式文档。
- JEP - JDK 增强建议
这三者之间有什么区别(或关系)?
这三者之间有什么区别(或关系)?
有些人认为这只是单词含义的问题。我认为,这其中还有更多内容,但让我们从这些话开始。
在一般情况下:
如您所见,这些单词本身的简单英语含义并没有多大帮助。我们需要更多的背景。在这种情况下,上下文位于您链接到的页面中。
这是 Java 语言的规范。JLS 指定 Java 编程语言的语法和其他规则,这些规则说明什么是有效的 Java 程序,什么不是有效的 Java 程序。它还指定了程序的含义;即,当您运行(有效)程序时会发生什么。
JSR 是作为 Java 社区流程 (JCP) 的一部分而创建的文档,它为一组人设置开发新规范的范围。这些规范(AFAIK)总是与Java相关,但它们经常解决不会成为核心Java SE或Java EE技术的问题。典型的JSR主题材料是一种相对成熟的技术;即,处于可以指定的状态。(如果您过早地尝试制定规范,那么您通常最终会得到一个糟糕的规范。其他事情也可能导致这种情况。
JEP 是一个建议增强 Java 核心技术的文档。这些建议通常用于尚未准备好指定的增强功能。正如JEP-0文件所述,JEP可能需要探索新颖(甚至是“古怪”)的想法。一般来说,原型设计将需要将可行和不可行的想法分开,并澄清它们以达到可以产生规范的程度。
因此,JEP、JSR 和规范之间的关系是这样的:
JEP提出并发展实验想法,直到可以指定的程度。并非所有的JEP都能实现。
JSR 采用成熟的想法(例如,由 JEP 产生),并生成新规范或对现有规范的修改。并非所有的JSR都能实现。
规范是 JSR 的常见工作产品。(其他包括接口的源代码和参考实现。JLS 是规范的一个示例。其他包括JVM规范,Servlet和JSP规范,EJB规范等。