写点什么

Sun 将基于 OpenJDK 7 生成 OpenJDK 6

  • 2007-09-11
  • 本文字数:1413 字

    阅读完需:约 5 分钟

Sun 最近宣布了发布Java 6 版 OpenJDK 的计划,它将以 OpenJDK 7 的代码作为基础来创建向后兼容的 Java 6 的实现版本。InfoQ 通过与 Sun 的 Joseph Darcy 对话获得了关于此决定的更多信息。

当问到为什么 Sun 会决定在此时开源 JDK 6 时,Darcy 说这是为了让 OpenJDK 6 获得 OpenJDK 7 中的一些优势,以同时支持 Mercurial 源码库二进制插件架构。同时,这也允许Sun 可以重用在OpenJDK 7 中已完成的代码审核和障碍清理工作——这是一个业已完成的显著成果,目的是避免重走整个过程去建立第二个代码库。当被问及OpenJDK 6 和已开源的 JDK 6 项目有哪些差别时,Darcy 指出现在的 JDK 6 代码是基于 Java 研究许可(Java Research License)开源的,而 Open JDK 6 将会基于通用公共授权第二版(GPL v2,即 GNU General Public License version 2 )许可方式开源。

InfoQ 接着问到创建 OpenJDK 6 对正在开发的 OpenJDK 7 会产生怎样的影响,Darcy 说:

在将 JDK 7 开源方面所投入的种种努力,已经把 JDK 7 的计划推到了前台,我们正在决定该选取哪些特性。无论如何,以已有的开源 JDK 7 来生成开源的 Java SE 6 的代价要相对小一些,所以我不认为会对 JDK 7 有任何实质性影响,兑现我们对 Java SE 6 的开源承诺会让 JDK 7 的发展得到更多关注:-)

在被问到基于 OpenJDK 7 开发 OpenJDK 6 可能存在怎样的风险时,Darcy 说在可能需要找出那些针对 Java 7 做过大规模结构调整的 API 并进行还原。不过他还是希望主要的工作是移掉新的类、方法和还原那些有过更改的规范,这些任务的风险相对较小一些。 Darcy 还提到,接下来的几个 Java 6 的更新版本将继续以现有 JDK 6 代码库为基础,现在还不知道 Sun 会不会以 OpenJDK 6 代码库为基础来发布更新。Darcy 还向 InfoQ 说明了开源 JDK 6 中的一些可选方案:

一种选择是在 OpenJDK 6 的升级工作空间内重做所有的代码审核和障碍清理工作。不过已没人愿意再去那样做了!另一种选择是通过开发一个技术性包装层来处理 JDK 7 组件,使其仅曝露基于 Java SE 6 的接口,在下面这篇文章中对该项技术进行了描述:由 Kenneth Russell 和 Tony Wyant 撰写的“在 Java SE 上模拟 Java ME 平台”。

基 本上来说,用户类需要在被载入 JVM 时进行重写,这样它们就只能从 Java SE 6 的角度来看世界;这项技术同样也可以处理反射操作。虽然它从技术角度来讲挺有趣的,但是仍然存在有很多需要加以改进的地方,而且有些还很复杂(如非 Java 接口等),所以这种技术会比我们选择简单的向后兼容分支方案要花更长的时间才能进入市场。

最后,InfoQ 向 Darcy 问到他对 OpenJDK 6 未来的期望时,他说:

短期来说,我的重点将放在为 OpenJDK 6 创建公开的 Mercurial 库上。这之后怎样进行代码库的开发还有待观察,部分原因是因为外部社区将会帮助测定结果。JDK 被应用在差异极大的各种条 件下,从大的银行集团,到独立开发人员,这让我们在解决发布模型中如何进行 Bug 修复和特性合并时,不得不针对这些跨领域的用户进行妥协处理。创建 OpenJDK 6 也让我们有机会重估 Java SE 6 的发布模型。也许现存的更新发布可以被转换成基于开源代码的;另一方面,也许保持不同的开源库和各自对应的更新会让我们更容易处理跨领域的需求。一旦 OpenJDK 6 发布并投入使用,我们就能得到更多的信息来指导将来发布模型的方向。

Darcy 还暗示 OpenJDK 6 可能在 JavaOne 2008 时到达一个主要的里程碑节点。

查看英文原文 OpenJDK 6 to be based off of OpenJDK 7

2007-09-11 08:141857
用户头像

发布了 90 篇内容, 共 15.6 次阅读, 收获喜欢 11 次。

关注

评论

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

运维训练营第19周作业

好吃不贵

一文吃透扫码登录原理

程序员大彬

Java java面试 扫码

AR市场为何频频“呼唤”苹果?

Alter

AR

常用对话框基本使用

芯动大师

dialog timepicker progress

聊一聊系统重构

开源可观测性平台SigNoz

骑牛上青山

开源 调用链 OpenTelemetry signoz

中台的悖论

agnostic

中台

系统设计的端到端原则

俞凡

架构

人工智能与软件工程

紫晖

人工智能 机器学习 软件工程 工程

软件测试/测试开发丨持续交付-Blue Ocean 应用

测试人

软件测试 自动化测试 测试开发

美团:某动态线程池框架是官方开源的么?

马丁玩编程

线程池 美团线程池

测试人社区软件测试技术沙龙,基于代码链路分析的白盒精准测试方案

测试人

软件测试 自动化测试 精准测试 测试开发

软件测试/测试开发丨MockServer 服务框架设计

测试人

软件测试 自动化测试 测试开发

手把手带你上手ChatGPT

老周聊架构

3月月更 ChatGPT

实现常驻任务除了避免昙花线程,还需要避免重返线程池

newbe36524

C#

作为移动开发你不能不了解的编译流程

京东科技开发者

编译器 移动开发 京东云 京东技术

如何实现云数据治理中的数据安全?

京东科技开发者

云计算 大数据 数据治理 企业号 3 月 PK 榜 计算资源

Bytebase 体验官之狂飙的 ChatGPT

朱亚光

CMS系统是什么?

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

利用 ChangeStream 实现 Amazon DocumentDB 表级别容灾复制

亚马逊云科技 (Amazon Web Services)

如何实现云数据治理中的数据安全?

京东科技开发者

数据库 云计算 京东云 京东技术

希望计算机专业同学都知道这些宝藏博主

程序员大彬

自学编程 计算机 计算机专业

软件测试/测试开发丨持续交付-Jenkinsfile 语法

测试人

软件测试 自动化测试 测试开发

架构实战营 - 模块五作业(微博评论)

🐢先生

架构实战营

什么是容器编排及编排的优点

黎博

容器编排 Kubernetes Serverless

在京东如何做好前端系统的可观测性

京东科技开发者

前端 京东云 京东技术

交易履约之产品中心实践

京东科技开发者

交易 京东云 京东技术 京东科技 产品中心

基于 Kafka 和 Elasticsearch 构建实时站内搜索功能的实践

京东科技开发者

MySQL ES 京东云 京东物流 京东技术

如何把握未来技术的演进方向

Ethan

Three.js 进阶之旅:物理效果-3D乒乓球小游戏 🏓

dragonir

CSS JavaScript 前端 React three.js

软件测试/测试开发丨持续交付-Pipeline入门

测试人

软件测试 自动化测试 测试开发

Sun将基于OpenJDK 7生成OpenJDK 6_Java_Ryan Slobojan_InfoQ精选文章