Sun将基于OpenJDK 7生成OpenJDK 6
作者 Ryan Slobojan译者 张海龙 发布于 2007年9月11日 上午8时14分
社区 Java 主题 开放源代码 标签 开源Java, Java SE
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
分享到:
相关推荐
OpenJDK7的JVM采用了Hotspot技术,这是一种动态编译器,能够在运行时分析代码的执行情况,将执行频繁的热点代码编译为本地机器代码,以提高程序的运行速度。Hotspot包含两个主要的编译器:Client Compiler(C1)和...
标题中的"openjdk-7u75-b13-linux-x64-18_dec_2014.tar.gz"指的是OpenJDK 7更新75版本的构建b13,适用于Linux操作系统且为64位架构的源码或二进制文件的归档。这个文件是使用tar和gzip工具进行压缩的,通常在Unix或...
Could not resolve dependencies for project ... Could not find artifact com.sun:jconsole:jar:1.8 at specified path G:\.m2\com\alibaba\druid\1.2.6/lib/openjdk-1.8-jconsole.jar
《OpenJDK 11在Linux平台上的应用详解》 OpenJDK,全称为Open Source Java Development Kit,是Java开发工具集的一个开源实现,由Oracle公司主导并维护,旨在提供一个免费、开源的Java环境。OpenJDK 11是其重要的...
OpenJDK(Open Source Java Development Kit)是Java开发工具包的一个开源实现,由Sun Microsystems发起并开放源代码,后来被甲骨文(Oracle)公司接手。OpenJDK是Java平台标准版(Java SE)的核心组件,包括JVM...
OpenJDK(Open Source Java Development Kit)是一个免费、开源的Java开发工具包,由Sun Microsystems公司发起并维护,后来被甲骨文公司接手,并且遵循GPLv2许可协议。它包含了编译器、虚拟机、类库以及其他工具,是...
4. **Java文档生成器(javadoc)**:自动生成程序的API文档。 5. **Java打包工具(jar)**:用于创建和管理Java归档(JAR)文件,方便分发和运行Java程序。 6. **Java调试器(jdb)**:帮助开发者调试Java程序,查找...
在本文中,我们将围绕"openjdk-6-src-b27-26_oct_2012.tar.gz"这一特定版本的OpenJDK 6源码进行深入探讨。 首先,标题中提到的"openjdk-6-src-b27-26_oct_2012.tar.gz"是一个压缩文件,其中包含了OpenJDK 6的源代码...
安装OpenJDK 14.0.2的步骤包括下载zip文件,解压缩到您选择的目录,然后设置系统环境变量`JAVA_HOME`指向JDK的安装路径,并将`%JAVA_HOME%\bin`添加到`PATH`环境变量中,这样就可以在命令行中直接使用Java工具了。...
/jdk文件夹下生成一个src.zip,此文件夹对应rt.jar中的java源码,但细心研究后发现rt.jar中sun包下的文件不存在,也就是说sun包下的java源码并没有打包到src.zip中,可以到http://download.java.net/openjdk/jdk7/该...
6. **JDK工具**:`src/tools`目录包含了各种JDK工具的源码,如`javac`编译器、`javadoc`文档生成器等,这些都是开发者日常工作中经常使用的工具。 7. **内存管理**:OpenJDK8的内存管理系统包括对象分配、垃圾收集...
如果要深入学习SunJava,这些内容将是非常宝贵的资源,可以帮助用户深入了解Java编程,并熟悉Sun Microsystems时代的Java开发环境和工具。 总的来说,这个名为“sunjava”的压缩包是学习和了解早期Java技术,特别是...
/jdk文件夹下生成一个src.zip,此文件夹对应rt.jar中的java源码,但细心研究后发现rt.jar中sun包下的文件不存在,也就是说sun包下的java源码并没有打包到src.zip中,可以到http://download.java.net/openjdk/jdk7/该...
OpenJDK项目始于Sun Microsystems在2006年宣布将Java平台标准版(Java SE)的核心技术开放源代码,后来Oracle收购了Sun并继续维护OpenJDK。OpenJDK是许多Java实现的基础,包括Oracle JDK和Azul Zulu等。"17.0.2"是...
OpenJDK 项目由 OpenJDK 社区维护,这个社区是由 Sun Microsystems 在 2006 年启动的,旨在开放 Java 平台标准版(Java SE)的源代码。OpenJDK 是一个遵循 GPL v2 许可协议的项目,鼓励开发者参与进来,共同推动 ...
6. **代码生成**:经过前面的处理,编译器将 AST 转换成字节码,这一过程在 `com.sun.tools.javac.code.Gen` 类中完成。字节码是 Java 类文件的二进制形式,可以直接由 JVM 执行。 7. **错误与警告处理**:在整个...
本文将深入探讨OpenJDK中的JVM Hotspot实现源码,帮助读者理解其内部机制和优化策略。 首先,Hotspot JVM的核心设计理念是“热Spot”优化,即通过动态分析代码执行情况,识别出经常执行的“热点”代码,然后对其...
2006年,在JavaOne大会上,Sun公司宣布计划将其JDK开源,并在接下来的一年内,逐步将HotSpot VM的源代码以GPL协议公开,从而形成了OpenJDK项目的基础。这标志着HotSpot VM正式成为Sun JDK和OpenJDK两个实现高度一致...
它由Sun Microsystems开发,并在2009年被Oracle公司收购。Java的设计目标是具有高可靠性、安全性、可移植性以及良好的性能。 **Linux Arm 64** Linux Arm 64,也被称为AArch64,是Linux操作系统的一个版本,专为...