写点什么

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:212198
用户头像

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

关注

评论

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

滴滴数据通道服务演进之路

Kafka中文社区

大数据开发Hive之如何进行数据抽样

@零度

大数据 hive

Jira Software 年度总结:12个重要功能大放送!

Atlassian

DevOps 敏捷 Atlassian Jira ITSM

云原生时代,需要什么样的数据库?

博文视点Broadview

10个Node.js 开发人员必须使用的IDE

编程江湖

node.js

一文带你了解数据库连接池的必要性

编程江湖

数据库 JAVA开发

性能分析之Linux系统平均负载案例分析

zuozewei

Linux 性能分析 12月日更

给弟弟的信第26封|做一个懂得感恩的人

大菠萝

28天写作

【转】java开发之spring面试题

@零度

JAVA开发 spring框架

Soul运维总监尤首智:企业如何从0到1建设云上运维体系

阿里云弹性计算

阿里云 云上架构 运维峰会

基于流程管理,提高工作质量和效率

流程管理

OPPO小布助手算法系统探索、实践与思考

安第斯智能云

算法

版本不兼容Jar包冲突该如何是好?

vivo互联网技术

jar Java 开发

SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子

汪子熙

Kubernetes k8s 28天写作 docker build 12月日更

技术揭秘!百度搜索中台低代码的探索与实践

百度Geek说

中台 后端 低代码 搜索

完蛋,我的事务怎么不生效?

秦怀杂货店

MySQL 数据库 事务 事务失效

面试被问一致性hash?看这一篇就够了

公众号:程序猿成神之路

PingCAP x 亚马逊云科技,为 TiDB 云端体验“加冕”

PingCAP

饿了么资深架构师分享云上基础架构演进

阿里云弹性计算

云上架构 运维峰会

kafka丢失和重复消费数据

编程江湖

大数据 kafka

网络安全好学吗?网络安全入门篇,安装渗透测试系统kali全套教学

学神来啦

运维 网络安全 渗透测试· kali基础 kali Linux

教你Python字符串的基本操作:拆分和连接

华为云开发者联盟

Python 连接 字符串 拆分 拆分字符串

共筑AI开源繁荣生态 | 新一代人工智能院士高峰论坛深度学习框架分论坛成功举办

OpenI启智社区

迭代你好,我是冲刺

华为云开发者联盟

Scrum 开发 迭代 冲刺 迭代增量开发

Golang协程之了解管道的缓存能力

恒生LIGHT云社区

Go golang

最强最全面的大数据SQL系列

五分钟学大数据

sql 大数据 hive

初探语音识别ASR算法

华为云开发者联盟

算法 语音识别 ASR 语音转写文章 声学模型

Arctic:网易数帆开放式流批一体表服务 | BDTC 精彩回顾

网易数帆

大数据 数据湖 iceberg 流批一体 Arctic

PassJava 开源 (九) :Spring Cloud 整合 Gateway 网关

悟空聊架构

SpringCloud Gateway passjava 悟空聊架构

智算未来 | 2021新一代人工智能院士高峰论坛智算网络分论坛成功举办

OpenI启智社区

JDK Enhancement Process简介_Java_Alex Blewitt_InfoQ精选文章