JDK Enhancement Process简介

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/02/jdk-jeps

去年年初,Oracle发布了JDK Enhancement Proposal与路线图进程,目的在于鼓励OpenJDK提交者贡献点子和扩展以改进OpenJDK生态圈。

该JEPs的目的在JEP 1: JDK Enhancement Proposal and Roadmap Process得到了说明。他们定义了一个变化较大的增强(即通过两周的工作量对JDK进行较大的修改,或是对开发者和用户需求较大的内容进行修改)。与Python Enhancement ProposalsScala Improvement Process列表一样,其目的在于根据一个特性基础(增强与改变都需要的特性)进行定义。与Python一样,JEP 0是个增强提案的列表索引,在本文撰写之际,它里面一共列出了127个JEPs(还有两个元JEPs, 分别是JEP 1: Enhancement Proposal and Roadmap ProcessJEP 2: JEP Template)。

进程文档明确指出JEPs并不会取代Java Community Process;因为JCP是标准Java SE APIs与相关接口的管理部门。虽然目前发布的很多JEPs都与Java SE APIs保持一致,但还与一些是特定于VM的,比如说万众期待的JEP 122: Remove the Permanent Generation

JEPs的转换需要经历不同的状态,如下所示:

  • 草案:开放讨论
  • 张贴:进入JEP归档
  • 提交:开始评估
  • 活动:批准公开发布
  • 候选:获准进入OpenJDK路线图
  • 资助:由小组/区域领导判断给予全力资助
  • 完成完成与交付
  • 撤回:退出(或许未来还会重新加入进来)
  • 拒绝现在或将来不值得继续

上面带下划线的是最终状态,包括完成与拒绝状态。虽然撤销也可以看作是一种最终状态,但未来还有可能重新加入进来。某些JEPs,如JEP0与JEP1,会永远处于活动状态,并不会转换到最终状态。

JEPs与JSRs之间的一个主要差别在于状态贡献与审查的正式程度。JCP具有相当严格的进程模型,必须要严格遵守才行;但JEP则更加轻量级,可以抛出想法并为其设定一个标识符,标识符用于同步想法、评论和其他进程。另一方面,JEPs也会涉及到资助问题;是否有资源能够投入到项目中,哪个组织负责交付。到目前为止,所有JEPs(101——126)都由Oracle资助,但JEP 104: Annotations on Java Types是与华盛顿大学联合资助的,其合作者Michael Ernst是计算机科学教授。类型检查是Michael Ernst研究的一个领域,JEP 104是发布在ICSE'11上的类型检查的试验结果。

虽然大多数JEPs都处于张贴状态,但在本文撰写之际已经有3个处于提交状态了。这包括JEP 104、JEP 118: Access to Parameter Names at RuntimeJEP 119: javax.lang.model implementation backed by core reflection。这些提案已经处于“准备评估”阶段了(但在实际开发前,他们还需要经历候选与资助阶段)。

虽然JEP视图表明发生了什么,但列表视图却并没有显示出进程状态的概要视图。此外,某个JEP是否会得到资助是个内部实现决策问题而非任何标准进程;但Oracle正在努力争取OpenJDK更多商业上的搭档(比如IBM),Oracle认为这是必须的。

查看英文原文:JDK Enhancement Process

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值