“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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

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

关注

评论

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

Python自动化测试之模块、包与路径知识讲解

伤心的辣条

Python 程序员 程序人生 软件测试 自动化测试

2022,云上开发新纪元

Heighliner

云原生 #k8s 开发者, 远程开发

基于EasyCV复现ViTDet:单层特征超越FPN

阿里云大数据AI技术

自然语言处理 异构计算 深度学习/机器学习 编译码

Java—线程安全

武师叔

6月月更

SOL staking质押现已在 AscendEX Earn 上线

鳄鱼视界

好的产品帮助文档可以留住一个用户的心

小炮

Nydus —— 下一代容器镜像的探索实践

SOFAStack

开源 云原生 dragonfly 容器镜像

力扣每日一练之二分查找Day10

京与旧铺

6月月更

百里带你一文读懂selenium自动化测试(基于Python)

伤心的辣条

Python 程序人生 软件测试 自动化测试

测试基础之:自动化测试

甜甜的白桃

软件测试 自动化测试 6月月更

【协程】ViewModelScope源码解析

yechaoa

android 协程 6月月更 ViewModelScope

窃取证书的攻击流程及抓包分析

网络安全学海

黑客 网络安全 信息安全 渗透测试 WEB安全

leetcode 70. Climbing Stairs 爬楼梯(简单)

okokabcd

LeetCode 动态规划 数据结构与算法

什么是真正的敏捷开发?敏捷开发与瀑布开发有何不同

阿里云云效

云计算 阿里云 敏捷开发 研发 开发模式

【题解】剑指 Offer 05. 替换空格(C语言)

未见花闻

6月月更

ConcurrentHashMap性能测试

FunTester

详解MOVE PROTOCOL的测试版,让健康运动如影随形

BlockChain先知

详解GPU虚拟化技术

Finovy Cloud

人工智能 云渲染 GPU服务器

用 docker 创建 jmeter 容器,实现性能测试

伤心的辣条

Python 程序员 软件测试 自动化测试 程序员‘

vue-class与style绑定

小恺

6月月更

从概念到安全实践:软件供应链基础指南

SEAL安全

DevOps 安全 DevSecOps 软件供应链

改变世界的开发者丨以梦为码,华工小哥的致青春

华为云开发者联盟

数据库 华为云

教你搭建一个Telegraf+Influxdb+Grafana 监控系统

华为云开发者联盟

云计算 华为云

始于架构,精于治理|阿里云中间件开发者大会火热报名中

阿里巴巴中间件

阿里云 开发者 中间件

使用GeekCode在开发中分离计算和存储

王泰

CloudIDE 云 IDE

认识一下什么是JSP

华为云开发者联盟

Java jsp 网页 前段

一个算子在深度学习框架中的旅程

OneFlow

深度学习 算法 框架设计

从昇腾AI助力富士康产线升级,看中国智造的未来之路

脑极体

手慢无!‘’阿里爸爸‘’6月最新开源新版Spring Cloud Alibaba全体系10w字全彩笔记

Java全栈架构师

Java 程序员 面试题 架构师 SpringCloud

ScheduledThreadPoolExecutor

急需上岸的小谢

6月月更

如何玩转“听到头疼用了爱”的函数计算

明道云

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