7

在哪里可以找到 JDK 1.5 的完整源代码下载?我无法在 oracle 网站上找到确切的链接;提供的链接只在圈子里。

4

3 回答 3

4

Java 这个名称可以应用于许多协同工作的不同组件。对某些人来说,它可能意味着“Java 虚拟机”,对其他人来说可能意味着“Java 语言规范”,对许多人来说可能意味着“Java 编译器”,对许多人来说可能意味着“Java 语言库”。

如果您想要 Java5 的 Java 虚拟机 (JVM) 的源代码,它是可用的;但是,不在开源许可下。Java 的第一个“开源”副本随“Java 6”一起发布。如果您想要 Java5 源代码,则需要注册“Java 研究人员许可协议”,该协议为您提供了访问 JVM(至少是 Java5)的源代码的权限。在为 Java5 环境编写代码时,完全没有必要拥有 JVM 的源代码。

如果您想要 Java5 的 Java 语言规范的源代码,它是一个文本文档(通常作为书籍或在线网页集发布)。虽然它可以让您了解在某些情况下编译器是否应该报错,但同样没有必要为 Java5 环境编写程序。

如果需要 Java5 编译器,可以在 Java 开发工具包旧版本的 oracle 档案中下载。如果您想为 Java5 编写程序,下载和使用此产品通常是开发 Java5 程序的最佳实践。或者,您可以配置兼容的兼容编译器(Java6 / Java7)来发出 Java5 代码。

如果您需要 Java5 语言库,它们包含在 Java5 开发工具包中。Java6 和 Java7 开发工具包产品提供了努力与 Java5 源代码兼容的语言库;但是,较新的库还包括 Java5 虚拟机无法引用的较新功能和操作。同样,有一些技术可以安全地使用向后兼容的 Java 版本 (6/7);但是,如果他们的开发基于 Java5 开发工具包,则无需额外注意。语言库的“源代码”包含在 Java 研究许可协议下的 JVM 源代码中,以允许 SUN 包含此类源代码。

虽然 SUN 已经从其他公司获得了一些技术的许可,这些技术可以通过 Java5 自由分发,但 SUN 并不一定完全拥有 Java5 中的所有技术。因此,即使在 Java 研究人员许可协议下,某些源代码也不可用(尽管编译的库是可用的)。开源项目(如 OpenJDK)很快就用开源库实现了这些缺失的“漏洞”,以获得功能齐全的开源 Java 堆栈;但是,那是 Java6+(不是 Java5)。

于 2012-01-19T16:04:23.683 回答
1

Java 1.5 不是开源的。引用维基百科:

2006 年 11 月 13 日,Sun 根据 GNU 通用公共许可证 (GPL) 的条款,将 Java 的大部分内容作为自由和开源软件 (FOSS) 发布。2007 年 5 月 8 日,Sun 完成了这一过程,除了 Sun 不拥有版权的一小部分代码外,Java 的所有核心代码都在自由软件/开源分发条款下可用。

据我所知,可以出于研究目的获取源代码(我们的大学可以通过与 Sun 的特殊协议访问源代码),但我认为不可能从 Oracle 获取。

在开源之前,有几个 JVM 和核心类的免费实现。有关示例,请查看http://en.wikipedia.org/wiki/Free_Java_implementations

于 2012-01-19T16:02:35.410 回答
0

访问 甲骨文档案

于 2012-01-19T15:49:21.943 回答