JSR, Java Specification Request,
Java规范请求
; 也有的地方翻译为Java规范提案。
在前面的文章 1. Java EE简介 - JavaEE基础系列中, 简要介绍了Java EE的定义. 我们提到, Java EE 由各种组件构成, 这些组件需要实现 Java Specification Request(JSR) 所规定的各种 API。
本文将深入了解JSR到底是什么.
核心概念: 每个JSR都是正式的、开放的标准文档, 由个人或组织提交给 Java Community Process 进行审议, 其中包括对Java技术平台的修改(changes),补充(additions)和改进(improvements)。
上述定义中的重点是:
每个JSR都是正式的文档, JSR请求必须符合JCP规定的格式。
JSR是开放的标准文档. JSR文档的分发和贡献符合某些法律条款. 任何人都可以很容易地获取这份文档。
-
可以由个人或组织发起JSR请求。原则上, JCP 组织的会员都可以发起JSR. JCP会员对公众开放, 个人会员是免费的。 假如你不是JCP组织的会员, 也就不能发起JSR请求。
可以在官网注册JCP会员,当前是Oracle公司在维护。 注册向导: https://jcp.org/en/participation/membership
JSR文档是对Java技术平台提出的修改,补充和改进. 每个JSR的目的都是对Java技术栈增加新功能、修正BUG或者进行某些方面的提升。
Java EE中的每个API, 实际上都是由某个JSR规范所定义的, 并且通过了JCP组织的审核. 所有JSR都有JCP审核的过程。
一旦某个JSR通过了JCP的审核, 它就变成了Java技术栈的一部分, 可以安全地用于生产环境. JSR的审核过程确保了只有可靠稳定的技术才能变成Java的一部分, 避免过度臃肿和膨胀。
JSR进程也保证了 API 是经过仔细设计的, 同时能保持向后兼容。向后兼容性就是说, 老版本中的Java平台存在某个功能/API, JSR进程就确保在新版本中可以继续使用【这不包括第三方API和私有API】。
每个JSR都只是一个抽象的规范, 需要一种具体的实现。这就是参考实现的概念。请关注 Java EE 系列的下一篇文章。
原文链接: https://pedanticdevs.com/2017/06/java-ee-fundamentals-java-specification-request-what-is-a-jsr.html
原文日期: 2017年06月23日
翻译日期: 2017年07月01日
翻译人员: 铁锚: http://blog.csdn.net/renfufei