时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

JDK Enhancement Process 简介

  • 2012-02-02
  • 本文字数:1195 字

    阅读完需:约 4 分钟

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

JEP 的目的在 JEP 1: JDK Enhancement Proposal and Roadmap Process 中得到了说明。他们将增强定义为较重大的变化(比如说需要两周以上的工作量、JDK 的重要变化或是为开发者 / 用户所强烈要求的)。类似于 Python Enhancement Proposals Scala Improvement Process ,提案的目的在于根据某个特性来定义所需的增强或是修改。与 Python 一样, JEP 0 是个增强提案的列表索引,在本文撰写之际,它里面一共列出了 127 个 JEPs(还有两个元 JEPs, 分别是 JEP 1: Enhancement Proposal and Roadmap Process JEP 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 研究的一个领域,他曾在 ICSE’11 上发表过一篇关于类型检查器的论文,JEP 104 提案就来自于对该类型检查器的试验结果。

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

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

查看英文原文: JDK Enhancement Process

2012-02-02 00:212184
用户头像

发布了 88 篇内容, 共 272.1 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

为什么一半的人员能够完成超过去年的事情?(13/28)

赵新龙

28天写作

react源码解析7.Fiber架构

buchila11

React

现代配置指南——YAML 比 JSON 高级在哪?

杨成功

json 大前端 架构师 yaml 签约计划第二季

vivo浏览器的快速开发平台实践-总览篇

vivo互联网技术

敏捷开发 浏览器 开发平台

架构实战-毕业设计

咖啡

秒杀架构

给弟弟的信第11封|Java学习路线

大菠萝

28天写作

MySQL设置数据库为只读

Simon

MySQL

对话中移上研院,分享DevOps及运维观点

龙智—DevSecOps解决方案

DevOps 运维 中移上研院

CSDN热榜、华为云博客都可用来练习Python scrapy 爬虫

梦想橡皮擦

12月日更

文件写入的6种方法,你知道几种

编程江湖

JAVA开发

冰河整理 深入理解高并发编程 | 内容精选合集

冰河

并发编程 多线程 高并发 内容合集 签约计划第二季

Vue3进阶(贰):Vue3 新特性

No Silver Bullet

Vue3 12月日更

4个优化方法,让你能了解join计算过程更透彻

华为云开发者联盟

数据 高性能 哈希表 join 标识对齐

大数据基石之Hadoop的读写流程与2.X架构

编程江湖

大数据 hadoop

架构实战 - 毕业总结

咖啡

react源码解析8.render阶段

buchila11

React

详细解读MySQL中的B+Tree 落地形式

秋水

MySQL优化 内容合集 签约计划第二季 B+tree

lancet: 一个全面、高效、可复用的go语言工具函数库

柳叶刀

Go web go modules

java开发之Java ORM 框架推荐

@零度

Java Java ORM ​ObjectiveSQL

元宇宙100讲-0x003

hackstoic

元宇宙

模块六课后作业-拆分电商系统为微服务

断水风春

架构实战营

云图说|DRS数据对比——带您随时观测数据一致性

华为云开发者联盟

数据库 华为云 DRS 数据迁移

【LeetCode】统计「优美子数组」Java题解

Albert

算法 LeetCode 12月日更

Linux系统学习攻略《Linux一学就会》:Linux系统启动原理及故障排除

侠盗安全

Linux linux运维 运维工程师 云计算架构师 linux电子书

Flutter 将整个App变为灰色(勿忘国殇 警钟长鸣)【Flutter专题21】

坚果

flutter 28天写作 12月日更

电商系统微服务拆分及架构设计

stars

架构训练营 电商微服务分析

关于人脸识别的一个应用案例

为自己带盐

人脸识别 28天写作 百度智能云 12月日更

面试官:说说你对react生命周期的理解

全栈潇晨

React

专题:基于云的技术架构设计实践

hackstoic

DevOps 云原生 技术架构 内容合集 签约计划第二季

初识 AspectJ ~

阿策小和尚

28天写作 Android 小菜鸟 12月日更

如何优雅地在Vue页面中引入图片

编程江湖

前端开发

JDK Enhancement Process简介_Java_Alex Blewitt_InfoQ精选文章